>-----Original Message-----
>From: Jaroslav Jirásek [mailto:[email protected]]
>Sent: Monday, May 19, 2014 2:47 AM
>To: [email protected]
>Subject: [E1000-devel] problem with balancing irq
>
>Hi, I have last driver ixgbe-3.21.2, running on kernel
>2.6.35.14
>
>Module is loaded with this parameters:
>allow_unsupported_sfp=1,1 LRO=0,0 DCA=2,2 FdirPballoc=3,3
>
>Computer is used as router, routing about 3gbit of traffic
>
>With set_irq_affinity.sh I have set for each RxTx queue own
>cpu core
>
>I am not using Flow Director:
>[root@router1 /root]# ethtool -u eth2
>12 RX rings available
>Total 0 rules

You are using FlowDirector, you don't have custom (perfect) filters setup. 
FlowDirector has 2 modes of operation - perfect filters and signature filters. 
By default the driver is using signature filters which basically makes sure 
that packets from a certain flow are transmitted and received on the same queue.

If you didn't think you used FlowDirector why did you load the driver with 
FdirPbAlloc=3? See more below.

>
>But on counter fdir_match is visible very much traffic:
>[root@router1 /root]# ethtool -S eth2 | grep fdir
>      fdir_match: 3463780554
>      fdir_miss: 6874229294
>      fdir_overflow: 3771
>
>1) I am not sure if I understand documentation, but I think,that
>fdir_match may be zero if I am not using Flow Director?

If you see fdir_miss/match/overflow increment then you have FlowDirector 
running as mentioned above. To disable Flow Director you can either:

ethtool -K ethx ntuple on (switching to perfect filters without adding any)

or on module load with:
modprobe ixgbe AtrSampleRate=0,0...

This will put you in RSS mode which you may want to try, but be aware that 
encapsulated packets will not be spread across CPUs with RSS.

Since you are loading the driver with FdirPballoc=3 you are already allocating 
max amount of buffer for the FlowDirector filters, but you still get 
fdir_overflow. If this counter increments frequently in your environment you 
may want to look into setting up perfect filters.

>
>2) In /proc/interrupts I can see much more interrupts on
>TxRx-0 queue
>and TxRx-11 queue is used much less:
>
>[root@router1 /root]# cat /proc/interrupts | grep eth2
>   81: 1178676913          0          0          0
>0          0
>         0          0          0          0          0
>0
>eth2-TxRx-0
>   82:          1  903278334          0          0
>0          0
>         0          0          0          0          0
>0
>eth2-TxRx-1
>   83:          1          0  914341377          0
>0          0
>         0          0          0          0          0
>0
>eth2-TxRx-2
>   84:          1          0          0  897610192
>0          0
>         0          0          0          0          0
>0
>eth2-TxRx-3
>   85:          1          0          0          0
>873319758          0
>         0          0          0          0          0
>0
>eth2-TxRx-4
>   86:          1          0          0          0
>0  885857878
>         0          0          0          0          0
>0
>eth2-TxRx-5
>   87:          1          0          0          0
>0          0
>892079196          0          0          0          0
>0
>eth2-TxRx-6
>   88:          1          0          0          0
>0          0
>         0  867894207          0          0          0
>0
>eth2-TxRx-7
>   89:          1          0          0          0
>0          0
>         0          0  824148554          0          0
>0
>eth2-TxRx-8
>   90:          1          0          0          0
>0          0
>         0          0          0  801975826          0
>0
>eth2-TxRx-9
>   91:          1          0          0          0
>0          0
>         0          0          0          0  742405278
>0
>eth2-TxRx-10
>   92:          1          0          0          0
>0          0
>         0          0          0          0          0
>402434225
>eth2-TxRx-11
>   93:       3806          0          0          0
>0          0
>         0          0          0          0          0
>0   eth2
>
>Can you help me? In older version of ixgbe I have almost the
>same interrupts on each queue

As I mentioned above in its default mode FlowDirector will attempt to match the 
queue of a transmitted packet to the same queue on Rx. So if you are not seeing 
many packets on queue 11 it is because you have not transmitted many on the CPU 
tied to that queue. If possible you may want to try and spread your load across 
the CPUs.

The packets on queue 0 are the ones from fdir_missed (where FlowDirector could 
not create a hash for that flow and they default to queue 0)

Thanks,
Emil

>
>Thank you for help
>
>
>------------------------------------------------------------
>------------------
>"Accelerate Dev Cycles with Automated Cross-Browser Testing
>- For FREE
>Instantly run your Selenium tests across 300+ browser/OS
>combos.
>Get unparalleled scalability from the best Selenium testing
>platform available
>Simple to use. Nothing to install. Get started now for
>free."
>http://p.sf.net/sfu/SauceLabs
>_______________________________________________
>E1000-devel mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/e1000-devel
>To learn more about Intel® Ethernet, visit
>http://communities.intel.com/community/wired

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to