Subject: Re: [PATCH NEXT 0/2] qlcnic: Add Qlogic 1/10Gb Ethernet driver for CNA devices

From: Rick Jones <[email-masked]>
Date: Tue, 05 Jan 2010 17:33:38 -0800

David Miller wrote:
> From: Dhananjay Phadke <[email-masked]>
> Date: Tue, 5 Jan 2010 15:55:10 -0800
> 
> 
>>The LRO you are talking about was still kernel based
>>LRO. Even GRO doesn't save PCIe transactions as much
>>HW LRO does. That is the key. The difference between
>>HW LRO and GRO is significant to keep former alive
>>for a while.

Is it really the PCIe transactions (*)?  ISTR that HW LRO also tended to 
significantly cut-down on the ACK rate, rather like the oft-derided ACK 
avoidance heuristics in Solaris, HP-UX and various MacOSX revs.

rick jones

* OK, I am recalling that long ago and far away, the Alteon AceNIC (PCI) had 
very high DMA setup times - so long that if an outbound (in this case) packet 
was more than 1.something buffers the card was unable to acheive link-rate with 
a 1500 byte MTU.  It meant that for straight copy outbound was fine, but for 
copy avoided (eg sendfile() - this was HP-UX 11) one was sub-par because it was 
at least two buffers per packet - aka two DMA setups - and sometimes three.  One 
workaround was to use JumboFrames - the larger MTU helped.

> 
> 
> But HW LRO is not bridge/forwarding/etc. agnostic because it loses
> information.
> 
> As soon as I turn on forwarding to make a NAT box or whatever, all of
> the hw LRO gets turned off and we're back to square one for local
> connections on the machine.
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html