ToDevice examines its device's transmit DMA queue for empty slots, which it fills by pulling packets from its input.
The new device structure includes, for example, methods to turn interrupts on and off, to poll for received packets, and to clean the transmit DMA ring.
To eliminate it, we configured the network card to periodically check the transmit DMA queue for new packets.
"Enqueue packet for transmit" is the time ToDevice spends enqueuing a packet onto the Tulip's transmit DMA ring.
Task Time (ns/packet) Polling packet 528 Refill receive DMA ring 90 Push through Click forwarding path 1565 Pull from Click queue 103 Enqueue packet for transmit 161 Clean transmit DMA ring 351 Total 2798 Table II breaks down the 1.57 [micro] s push cost by element.