linux irq affinity set不能带来有效的

时间:2017-02-20 19:50:10

标签: linux performance irq

当我为我的以太网设置irq时无法生效。 (irq from 99-119)

$ sudo cat /proc/irq/109/smp_affinity
00,00000400
$ sudo sh -c "echo 0 > /proc/irq/109/smp_affinity"
$ sudo cat /proc/irq/109/smp_affinity
00,00000400

我想将所有以太网irq设置为与cpu0绑定。但我没有幸运设置它。我不确定我遇到了什么样的问题。 我注意到affinity_hint有以下值,我无论如何也无法设置它。

$sudo cat /proc/irq/109/affinity_hint 
00,00000400
$ sudo sh -c "echo 0 > /proc/irq/109/affinity_hint"
sh: line 0: echo: write error: Input/output error

这个系统我有2个cpus,有6个核心。并启用超线程。完全有24个CPU核心。

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                40
On-line CPU(s) list:   0-39
Thread(s) per core:    2
Core(s) per socket:    10
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 62
Model name:            Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz
Stepping:              4
CPU MHz:               1201.921
BogoMIPS:              4404.51
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              25600K
NUMA node0 CPU(s):     0-9,20-29
NUMA node1 CPU(s):     10-19,30-39

请帮助建议如何解决。谢谢!

2 个答案:

答案 0 :(得分:0)

您需要指定一个位掩码,给出一组可以处理中断的CPU。对于CPU0,掩码值为1.

答案 1 :(得分:0)

我有解决方案。我在这里弄错了。核心0应为“1”,核心1应为“2”。