Thread (45 messages) flat view 45 messages, 11 authors, 2006-08-22

Re: [PATCH 2/4]: powerpc/cell spidernet low watermark patch.

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2006-08-16 23:48:43
Also in: linuxppc-dev, lkml

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help