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



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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • [PATCH 2/4]: powerpc/cell spidernet low watermark patch.
    ... Implement basic low-watermark support for the transmit queue. ... The device driver queues up a bunch of packets for the hardware ... When the hardware sees this flag, ...
    (Linux-Kernel)
  • [PATCH 2/6]: powerpc/cell spidernet low watermark patch.
    ... Implement basic low-watermark support for the transmit queue. ... The device driver queues up a bunch of packets for the hardware ... The impelmentation is done by setting the DESCR_TXDESFLG flag ...
    (Linux-Kernel)
  • [PATCH 2/6]: powerpc/cell spidernet low watermark patch.
    ... Implement basic low-watermark support for the transmit queue. ... The device driver queues up a bunch of packets for the hardware ... The impelmentation is done by setting the DESCR_TXDESFLG flag ...
    (Linux-Kernel)
  • Re: Possible bug in .Net 2.0 udp sockets?
    ... You won't miss any UDP packets with a buffer that large! ... R> I called BeginReceiveFrom() several times on purpose, ... If you don't do that, indeed, UDP stack can drop packets. ... it stores it in the queue. ...
    (microsoft.public.dotnet.framework)
  • Re: Performance Intel Pro 1000 MT (PWLA8490MT)
    ... driver changed to not use the braindamaged sk interrupt moderation. ... with small 50-60 byte UDP packets. ... when the tx queue fills up, the application should stop sending, at ... For transmission, with non-broken hardware and software, ...
    (freebsd-performance)