Subject: Re: RSS is not efficient when forwarding (ixgbe)

From: Flavio Leitner <[email-masked]>
Date: Tue, 8 Jul 2014 14:21:27 -0300

On Tue, Jul 08, 2014 at 02:09:13PM -0300, Carlos Carvalho wrote:
> Flavio Leitner ([email-masked]) wrote on 7 July 2014 21:28:
>  >On Mon, Jul 07, 2014 at 04:33:24PM +0000, Skidmore, Donald C wrote:
>  >> 
>  >> 
>  >> > 
>  >> > It's a router forwarding traffic from one interface to another, so I guess it's
>  >> > only the kernel. BTW, no firewall.
>  >> > 
>  >> > Flow Director needs to be enabled and I am using defaults.
>  >> 
>  >> Flow Director in ATR mode is on by default for ixgbe.  So like Tom mentioned the driver will create hash buckets for egress packets.  You could try disabling ATR and just use RSS.  Which would probably be the right thing to do any way since Flow Director isn't very useful for routing scenarios.  
>  >
>  >That was it.
> 
> We have a similar setup and similar problem. How do we disable ATR? I
> tried to set ntuple off but this almost zeroed traffic. I also tried
> to change rx-flow-hash but ethtool says it's not possible. The docs
> say that one can disable ATR by setting AtrSampleRate to 0 but this
> parameter doesn't exist in 3.14.10.
> 
> So, how do we disable ATR and keep RSS?
 
Keep in mind that this is actually 2 problems. One is enabling the
NIC to receive the streams in all queues for this scenario (setting
ntuple off and restarting the traffic works for me). The second problem
is having all the queue interrupts spread among the CPUs. That's what
does irqbalance, tuna, etc...

fbl