[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1329416523.2645.7.camel@edumazet-laptop>
Date: Thu, 16 Feb 2012 19:22:03 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: Neal Cardwell <ncardwell@...gle.com>
Cc: David Miller <davem@...emloft.net>, bhutchings@...arflare.com,
netdev@...r.kernel.org, alekcejk@...glemail.com
Subject: Re: limited network bandwidth with 3.2.x kernels
Le jeudi 16 février 2012 à 12:22 -0500, Neal Cardwell a écrit :
> Our team has also run into issues with GRO/LRO "stretch ACKs", and
> their negative impact on TCP performance. We have a patch that we've
> been working with that deals with the sender-side issues. It turns out
> that neither the ABC nor non-ABC byte counting quite fixes the stretch
> ACKs issues.
>
> On the receiver side, the approach of changing tcp_grow_window() and
> __tcp_grow_window() to adjust things in terms of actual packet size
> rather than a fixed 2*MSS sounds great to me as well.
>
> In terms of the original 3.1 vs 3.2 issue report that started this
> thread, I didn't see any evidence of LRO or GRO causing stretch ACKs.
> (Alexey, would you be able to confim by running "ethtool -k eth0" on
> both kernels?) So it seems that probably the original issue is
> unrelated to stretch ACKs?
>
I do believe the "3.1 vs 3.2" issue is a matter of how skb truesize
fixes uncover prior bugs in tcp stack. Some drivers were lying about skb
truesize in hope to avoid these bugs...
For instance, I think we dont open receiver window fast enough in this
case, (and we probably enter the slow __tcp_grow_window() path)
On sender side, there are also issues, because if I have TSO on or off
on my 'netem delay 50ms' machine, performance is completely different.
It might have something to do with BQL. More testings needed.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists