RE: linux-next network throughput performance regression
From: Dexuan Cui <decui@microsoft.com>
Date: 2015-11-09 02:53:55
Also in:
lkml
From: devel [mailto:driverdev-devel-bounces@linuxdriverproject.org] On Behalf Of Eric Dumazet Sent: Sunday, November 8, 2015 3:36 To: David Ahern <redacted> Cc: netdev@vger.kernel.org; Haiyang Zhang <haiyangz@microsoft.com>; linux- kernel@vger.kernel.org; devel@linuxdriverproject.org; David Miller [off-list ref] Subject: Re: linux-next network throughput performance regression On Fri, 2015-11-06 at 14:30 -0700, David Ahern wrote:quoted
On 11/6/15 2:18 PM, Simon Xiao wrote:quoted
The .config file used to build linux-next kernel is attached to this mail.Thanks. Failed to notice this on the first response; my brain filled in. Why linux-next tree? Can you try net-next which is more relevant for this mailing list, post the top commit id and config file used?Throughput on a single TCP flow for a 40G NIC can be tricky to tune.
Why is a single TCP flow trickier than multiple TCP flows? IMO it should be easier to analyze the issue of a single TCP flow? Here the perf drop in Simon's test is very obvious -- 50%, but it looks Eric can't reproduce it, so I suppose some net-related kernel config options may do the magic? Maybe Simon can narrow the regression down by bisecting. :-)
Make sure IRQ are properly setup/balanced, as I know that IRQ names were changed recently and your scripts might have not noticed... Also "ethtool -c eth0" might show very different interrupt coalescing params ? I too have a Mellanox 40Gb in my lab and saw no difference in performance with recent kernels. Of course, a simple "perf record -a -g sleep 4 ; perf report" might point to some obvious issue. Like unexpected segmentation in case of forwarding...
Thanks, -- Dexuan