On Wed, 2016-05-18 at 08:07 -0700, Ben Greear wrote:
> 
> On 05/18/2016 07:29 AM, Eric Dumazet wrote:
> > On Wed, 2016-05-18 at 07:00 -0700, Ben Greear wrote:
> >> We are investigating a system that has fairly poor TCP throughput
> >> with the 3.17 and 4.0 kernels, but evidently it worked pretty well
> >> with 3.14 (I should be able to verify 3.14 later today).
> >>
> >> One thing I notice is that a UDP download test shows lots of reordered
> >> frames, so I am thinking maybe TCP is running slow because of this.
> >>
> >> (We see about 800Mbps UDP download, but only 500Mbps TCP, even when
> >>    using 100 concurrent TCP streams.)
> >>
> >> Is there some way to tune the TCP stack to better handle reordered frames?
> >
> > Nothing yet. Are you the sender or the receiver ?
> >
> > You really want to avoid reorders as much as possible.
> >
> > Are you telling us something broke in networking layers between 3.14 and
> > 3.17 leadings to reorders ?
> 
> I am both sender and receiver, through an access-controller and wifi AP as 
> DUT.
> The sender is Intel 1G NIC, so I suspect it is not causing reordering, which
> indicates most likely DUT is to blame.
> 
> Using several off-the-shelf APs in our lab we do not see this problem.
> 
> I am not certain yet what is the difference, but customer reports 600+Mbps
> with their older code, and best I can get is around 500Mbps with newer stuff.
> 
> Lots of stuff changed though (ath10k firmware, user-space at least slightly,
> kernel, etc), so possibly the regression is elsewhere.
> 

You possibly could send me some pcap (limited to the headers, using -s
128 for example) and limited to few flows, not the whole of them ;)

TCP reorders are tricky for the receiver : It sends a lot of SACK (one
for every incoming packet, instead of the normal rule of sending one ACK
for two incoming packets)

Increasing number of ACK might impact half-duplex networks, but also
considerably increase cpu processing time.



Reply via email to