RE: TCP stream performance regression due toc377411f2494a931ff7facdbb3a6839b1266bcf6

From: Eric Dumazet
Date: Thu Jun 24 2010 - 13:19:09 EST

Le vendredi 18 juin 2010 Ã 16:26 +0800, Zhang, Yanmin a Ãcrit :
> More info about the testing:
> It's a loopback testing. We start one client netperf process to communicate with netserver process in a stream TCP testing. To reduce the cpu cache effect, we bind the 2 processes on 2 different physical cpus.
> #taskset -c 0 ./netserver
> #taskset -c 15 ./netperf -t TCP_STREAM -l 60 -H -i 50,3 -I 99,5 -- -s 57344 -S 57344 -m 4096

Thanks guys

We corrected a proven vulnerability in network stack.

If you want better netperf results, just increase size of your sockets
buffers. 57344 is _very_ low for localhost communication, given lo MTU
is 16436.

As we also increased skb->truesize lately, you might also increase
buffer size regardless of this (net: sk_add_backlog() take rmem_alloc
into account) commit.

In my case, I saw following improvement :

Under huge stress from a multiqueue/RPS enabled NIC, a single flow udp
receiver can now process ~200.000 pps (instead of ~100 pps before the
patch) on a 8 core machine.

Thats a 200.000 % increase, in a situation no tuning was possible ;)

> >>-----Original Message-----
> >>From: Shi, Alex
> >>Sent: 2010å6æ18æ 15:17
> >>To: eric.dumazet@xxxxxxxxx; davem@xxxxxxxxxxxxx
> >>Cc: Chen, Tim C; Zhang, Yanmin; linux-kernel@xxxxxxxxxxxxxxx
> >>Subject: TCP stream performance regression due to
> >>c377411f2494a931ff7facdbb3a6839b1266bcf6
> >>
> >>In our netperf testing, TCP_STREAM56 shows about 20% or more performance
> >>regression on WSM/NHM and tigerton machines. The testing boot up both
> >>netserver and client on localhost. The testing command like this:
> >>./snapshot_script_net TC_STREAM56
> >>
> >>We found the following commit causes this issue.
> >>c377411f2494a931ff7facdbb3a6839b1266bcf6
> >>Revert this commit will recover this regression on all machine.
> >>
> >>Regards!
> >>Alex

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at