public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* unstable 10GBE performance with recent kernels (> 3.0.X)
@ 2012-06-18  9:22 Stefan Priebe - Profihost AG
  2012-06-18  9:45 ` Eric Dumazet
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Priebe - Profihost AG @ 2012-06-18  9:22 UTC (permalink / raw)
  To: Linux Netdev List

Hello list,

i've discovered very unstable 10GBE performance using recent kernels. 
I'm using some optimized settings mentioned by intel here 
(part:Improving Performance): 
http://downloadmirror.intel.com/5874/eng/README.txt

I'm using Intel X520 cards (ixgbe driver version: 3.9.17-NAPI in all 
tests).

I'm measuring the performance with iperf.

With 3.0.32 i get constant 9,90 Gbit/s in both directions simultaneously.

With 3.4.2 or 3.5.0-rc2 it get sometimes 9,9gbit/s - sometimes 3gbit/s 
or even sometimes only 1gbit/s throughput.

I also tried to change the tcp_congestion_control from cubic to reno, 
bic and highspeed but no change.

I also tried to bisect the issue but there are so many changes in the 
net kernel part that i'm unable to identify the problem as with some 
commits i only get 0-300kb/s performance.

Any ideas?

Greets
Stefan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: unstable 10GBE performance with recent kernels (> 3.0.X)
  2012-06-18  9:22 unstable 10GBE performance with recent kernels (> 3.0.X) Stefan Priebe - Profihost AG
@ 2012-06-18  9:45 ` Eric Dumazet
  2012-06-18 10:05   ` Stefan Priebe - Profihost AG
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Dumazet @ 2012-06-18  9:45 UTC (permalink / raw)
  To: Stefan Priebe - Profihost AG; +Cc: Linux Netdev List

On Mon, 2012-06-18 at 11:22 +0200, Stefan Priebe - Profihost AG wrote:
> Hello list,
> 
> i've discovered very unstable 10GBE performance using recent kernels. 
> I'm using some optimized settings mentioned by intel here 
> (part:Improving Performance): 
> http://downloadmirror.intel.com/5874/eng/README.txt
> 

like what settings ?

> I'm using Intel X520 cards (ixgbe driver version: 3.9.17-NAPI in all 
> tests).
> 
> I'm measuring the performance with iperf.
> 
> With 3.0.32 i get constant 9,90 Gbit/s in both directions simultaneously.
> 
> With 3.4.2 or 3.5.0-rc2 it get sometimes 9,9gbit/s - sometimes 3gbit/s 
> or even sometimes only 1gbit/s throughput.
> 
> I also tried to change the tcp_congestion_control from cubic to reno, 
> bic and highspeed but no change.
> 
> I also tried to bisect the issue but there are so many changes in the 
> net kernel part that i'm unable to identify the problem as with some 
> commits i only get 0-300kb/s performance.
> 
> Any ideas?

ethtool -S eth0
ethtool -k eth0
netstat -s   (on sender, on receiver)

single flow , multiple flows ?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: unstable 10GBE performance with recent kernels (> 3.0.X)
  2012-06-18  9:45 ` Eric Dumazet
@ 2012-06-18 10:05   ` Stefan Priebe - Profihost AG
  2012-06-18 10:25     ` Eric Dumazet
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Priebe - Profihost AG @ 2012-06-18 10:05 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Linux Netdev List

Am 18.06.2012 11:45, schrieb Eric Dumazet:
> On Mon, 2012-06-18 at 11:22 +0200, Stefan Priebe - Profihost AG wrote:
>> Hello list,
>>
>> i've discovered very unstable 10GBE performance using recent kernels.
>> I'm using some optimized settings mentioned by intel here
>> (part:Improving Performance):
>> http://downloadmirror.intel.com/5874/eng/README.txt
>>
> like what settings ?

Sorry these ones:
http://pastebin.com/raw.php?i=J2XRFAjD

>> Any ideas?
>
> ethtool -S eth0
 From host1 and 2: http://pastebin.com/raw.php?i=0Pp8Vs3Y

> ethtool -k eth0
 From host1 and 2: # ethtool -k eth2
Offload parameters for eth2:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off
ntuple-filters: off
receive-hashing: on

# ethtool -k eth2
Offload parameters for eth2:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off
ntuple-filters: off
receive-hashing: on

> netstat -s   (on sender, on receiver)

 From host1 and 2: http://pastebin.com/raw.php?i=P9T96j0L

> single flow , multiple flows ?

host1: iperf -s
host2: iperf -c ssdstor002 -d -t 600 -i 10;

In this test i got around 7.4Gbit/s

Stefan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: unstable 10GBE performance with recent kernels (> 3.0.X)
  2012-06-18 10:05   ` Stefan Priebe - Profihost AG
@ 2012-06-18 10:25     ` Eric Dumazet
  2012-06-18 12:36       ` Stefan Priebe - Profihost AG
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Dumazet @ 2012-06-18 10:25 UTC (permalink / raw)
  To: Stefan Priebe - Profihost AG; +Cc: Linux Netdev List

On Mon, 2012-06-18 at 12:05 +0200, Stefan Priebe - Profihost AG wrote:
> Am 18.06.2012 11:45, schrieb Eric Dumazet:
> > On Mon, 2012-06-18 at 11:22 +0200, Stefan Priebe - Profihost AG wrote:
> >> Hello list,
> >>
> >> i've discovered very unstable 10GBE performance using recent kernels.
> >> I'm using some optimized settings mentioned by intel here
> >> (part:Improving Performance):
> >> http://downloadmirror.intel.com/5874/eng/README.txt
> >>
> > like what settings ?
> 
> Sorry these ones:
> http://pastebin.com/raw.php?i=J2XRFAjD
> 

I would remove all this (pretty old and obsolete) stuff and use standard
params.

Only thing you could do is :

ethtool -K eth2 ntuple on

on both machines

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: unstable 10GBE performance with recent kernels (> 3.0.X)
  2012-06-18 10:25     ` Eric Dumazet
@ 2012-06-18 12:36       ` Stefan Priebe - Profihost AG
  2012-06-18 12:51         ` Eric Dumazet
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Priebe - Profihost AG @ 2012-06-18 12:36 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Linux Netdev List

Am 18.06.2012 12:25, schrieb Eric Dumazet:
> I would remove all this (pretty old and obsolete) stuff and use standard
> params.
OK, thanks. done.

I've one RHEL6 system (using default 2.6.32 kernel) where only using 
"ntuple on" results in just 4-5Gbit/s while the others using 3.5.0-rc2 
are working fine.

> Only thing you could do is :
> ethtool -K eth2 ntuple on
>
> on both machines
Thanks that works great and boosts the performance a lot. What does it 
do? man ethtool doesn't show anything useful.

Is this also recommanded for 1Gb/s?

Could you recommend a tcp_congestion_control module? RHEL6 uses cubic by 
default. Some others use reno or bic.

Stefan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: unstable 10GBE performance with recent kernels (> 3.0.X)
  2012-06-18 12:36       ` Stefan Priebe - Profihost AG
@ 2012-06-18 12:51         ` Eric Dumazet
  2012-06-18 13:07           ` Stefan Priebe - Profihost AG
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Dumazet @ 2012-06-18 12:51 UTC (permalink / raw)
  To: Stefan Priebe - Profihost AG; +Cc: Linux Netdev List

On Mon, 2012-06-18 at 14:36 +0200, Stefan Priebe - Profihost AG wrote:
> Am 18.06.2012 12:25, schrieb Eric Dumazet:
> > I would remove all this (pretty old and obsolete) stuff and use standard
> > params.
> OK, thanks. done.
> 
> I've one RHEL6 system (using default 2.6.32 kernel) where only using 
> "ntuple on" results in just 4-5Gbit/s while the others using 3.5.0-rc2 
> are working fine.
> 

OK, then you might play with affinities, that's the only thing that
might need sysadmin tuning (irqbalance needs to be disabled)

> > Only thing you could do is :
> > ethtool -K eth2 ntuple on
> >
> > on both machines
> Thanks that works great and boosts the performance a lot. What does it 
> do? man ethtool doesn't show anything useful.
> 

I am not Intel guy, but you might find some info in :

http://downloadmirror.intel.com/14687/eng/README.txt



> Is this also recommanded for 1Gb/s?
> 

Not sure it's supported on ixgb


> Could you recommend a tcp_congestion_control module? RHEL6 uses cubic by 
> default. Some others use reno or bic.

Hard to tell, there is no generic answer. Default should be fine for
most uses.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: unstable 10GBE performance with recent kernels (> 3.0.X)
  2012-06-18 12:51         ` Eric Dumazet
@ 2012-06-18 13:07           ` Stefan Priebe - Profihost AG
  2012-06-18 13:29             ` Eric Dumazet
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Priebe - Profihost AG @ 2012-06-18 13:07 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Linux Netdev List

Am 18.06.2012 14:51, schrieb Eric Dumazet:
 > On Mon, 2012-06-18 at 14:36 +0200, Stefan Priebe - Profihost AG wrote:
 >> Am 18.06.2012 12:25, schrieb Eric Dumazet:
 >>> I would remove all this (pretty old and obsolete) stuff and use 
standard
 >>> params.
 >> OK, thanks. done.
 >>
 >> I've one RHEL6 system (using default 2.6.32 kernel) where only using
 >> "ntuple on" results in just 4-5Gbit/s while the others using 3.5.0-rc2
 >> are working fine.
 >>
 >
 > OK, then you might play with affinities, that's the only thing that
 > might need sysadmin tuning (irqbalance needs to be disabled)

I've now used this one:

# script provided by intel
/root/set_irq_affinity.sh eth2
ifconfig eth2 mtu 9000
ethtool -K eth2 ntuple on

irqbalance is off

But with the latest long term stable vanilla kernel 3.0.34.

# iperf -c HOST -t 60

works fine but with -d for using both directions i see around 9.8Gbit/s 
in one direction and only 300kb/s in the other direction.

Stefan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: unstable 10GBE performance with recent kernels (> 3.0.X)
  2012-06-18 13:07           ` Stefan Priebe - Profihost AG
@ 2012-06-18 13:29             ` Eric Dumazet
  2012-06-18 14:17               ` Stefan Priebe - Profihost AG
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Dumazet @ 2012-06-18 13:29 UTC (permalink / raw)
  To: Stefan Priebe - Profihost AG; +Cc: Linux Netdev List

On Mon, 2012-06-18 at 15:07 +0200, Stefan Priebe - Profihost AG wrote:
> Am 18.06.2012 14:51, schrieb Eric Dumazet:
>  > On Mon, 2012-06-18 at 14:36 +0200, Stefan Priebe - Profihost AG wrote:
>  >> Am 18.06.2012 12:25, schrieb Eric Dumazet:
>  >>> I would remove all this (pretty old and obsolete) stuff and use 
> standard
>  >>> params.
>  >> OK, thanks. done.
>  >>
>  >> I've one RHEL6 system (using default 2.6.32 kernel) where only using
>  >> "ntuple on" results in just 4-5Gbit/s while the others using 3.5.0-rc2
>  >> are working fine.
>  >>
>  >
>  > OK, then you might play with affinities, that's the only thing that
>  > might need sysadmin tuning (irqbalance needs to be disabled)
> 
> I've now used this one:
> 
> # script provided by intel
> /root/set_irq_affinity.sh eth2
> ifconfig eth2 mtu 9000
> ethtool -K eth2 ntuple on
> 
> irqbalance is off
> 
> But with the latest long term stable vanilla kernel 3.0.34.
> 
> # iperf -c HOST -t 60
> 
> works fine but with -d for using both directions i see around 9.8Gbit/s 
> in one direction and only 300kb/s in the other direction.
> 
> Stefan


I would try using regular MTU.

And post "netstat -s" results before/after your iperf.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: unstable 10GBE performance with recent kernels (> 3.0.X)
  2012-06-18 13:29             ` Eric Dumazet
@ 2012-06-18 14:17               ` Stefan Priebe - Profihost AG
  0 siblings, 0 replies; 9+ messages in thread
From: Stefan Priebe - Profihost AG @ 2012-06-18 14:17 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Linux Netdev List

Am 18.06.2012 15:29, schrieb Eric Dumazet:
>> But with the latest long term stable vanilla kernel 3.0.34.
>>
>> # iperf -c HOST -t 60
>>
>> works fine but with -d for using both directions i see around 9.8Gbit/s
>> in one direction and only 300kb/s in the other direction.
>
> I would try using regular MTU.
For 3.5.0-rc2 this works fine but decreases the speed from 9,9Gbit/s to 
9,3Gbit/s. With mtu 9000 i get around 3-4Gbit/s (netstat -s attached below)

With 3.0.34 MTU 9000 works fine with constant 9,9Gbit/s in both directions.

> And post "netstat -s" results before/after your iperf.

Tests with mtu 9000 and 3.5rc2:
Pre: http://pastebin.com/raw.php?i=uBjsFKjs
Post: http://pastebin.com/raw.php?i=TAK8JS6j

Thanks again!

Stefan

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-06-18 14:17 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-18  9:22 unstable 10GBE performance with recent kernels (> 3.0.X) Stefan Priebe - Profihost AG
2012-06-18  9:45 ` Eric Dumazet
2012-06-18 10:05   ` Stefan Priebe - Profihost AG
2012-06-18 10:25     ` Eric Dumazet
2012-06-18 12:36       ` Stefan Priebe - Profihost AG
2012-06-18 12:51         ` Eric Dumazet
2012-06-18 13:07           ` Stefan Priebe - Profihost AG
2012-06-18 13:29             ` Eric Dumazet
2012-06-18 14:17               ` Stefan Priebe - Profihost AG

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox