eth0中断不能改变3.13内核的CPU亲和力

我们在IBM x3550服务器上运行3.13内核(Ubuntu 14.04)。 我想我可能已经发现了一个更改eth0互联网接口的IRQ关联的bug,该关联对应于此设备上的IRQ 43。

证据:最初:

root@serv2:/proc/irq/43# cat /proc/interrupts | grep eth0 CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 43: 88888373 88905075 1148856189 88905192 88064077 88904900 88873957 88873938 PCI-MSI-edge eth0 

IRQ 43应该分配给CPU7:

 root@serv2:/proc/irq/43# cat smp_affinity_list 7 

几秒钟后等待:

 root@serv2:/proc/irq/43# cat /proc/interrupts | grep eth0 CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 43: 88888373 88905075 1150200633 88905192 88064077 88904900 88873957 88873938 PCI-MSI-edge eth0 

正如你所看到的,CPU7上的中断号是不变的,一切都只在CPU2上执行。 实际上,无论如何改变smp_affinity或smp_affinity_list,我都不能移动CPU2的IRQ 43。 您可能会注意到,最初在机器启动后,中断被传送到所有的CPU,因此我有一个非零的数字。 我改变之后

 # echo 2097152 > /proc/sys/net/netfilter/nf_conntrack_max 

中断停止传递给CPU2以外的任何CPU。

一些硬件信息:

 root@serv2:~# lshw -short -class network H/W path Device Class Description ====================================================== /0/100/4/0 eth2 network 82572EI Gigabit Ethernet Controller (Copper) /0/100/6/0/0 eth0 network NetXtreme II BCM5708 Gigabit Ethernet /0/100/1c/0/0 eth1 network NetXtreme II BCM5708 Gigabit Ethernet root@serv2:~# lshw -short -class processor H/W path Device Class Description ====================================================== /0/2/e processor Intel(R) Xeon(R) CPU E5345 @ 2.33GHz /0/2/f processor Intel(R) Xeon(R) CPU E5345 @ 2.33GHz 

软件信息:

 root@serv2:~# uname -a Linux serv2 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux root@serv2:~# cat /etc/issue Ubuntu 14.04.1 LTS \n \l 

这确实是一个错误,或者有一种方法来改变SMP亲和力?