linux irq affinity set 无法生效

linux irq affinity set cannot take effctive

当我为我的以太网设置 irq 时无法生效。 (来自 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 个 cpu 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

请帮忙指教如何解决。谢谢!

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

我找到了解决办法。我在这里犯了一个错误。它应该是核心 0 的回显“1”,核心 1 的回显“2”。