On Fri, 2006-08-11 at 12:08 -0500, Linas Vepstas wrote: > > Implement basic low-watermark support for the transmit queue. > > The basic idea of a low-watermark interrupt is as follows. > The device driver queues up a bunch of packets for the hardware > to transmit, and then kicks he hardware to get it started. > As the hardware drains the queue of pending, untransmitted > packets, the device driver will want to know when the queue > is almost empty, so that it can queue some more packets. > > This is accomplished by setting the DESCR_TXDESFLG flag in > one of the packets. When the hardware sees this flag, it will > interrupt the device driver. Because this flag is on a fixed > packet, rather than at fixed location in the queue, the > code below needs to move the flag as more packets are > queued up. This implementation attempts to keep te flag > at about 3/4's of the way into the queue. > > This patch boosts driver performance from about > 300-400Mbps for 1500 byte packets, to about 710-740Mbps.
Sounds good (without actually looking at the code though :), that was a long required improvement to that driver. Also, we should probably look into using NAPI polling for tx completion queue as well, no ? Cheers, Ben. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html