implement user-level tx irq processing