AMD Opetron 四核处理器中的不规则中断平衡

AMD Opetron 四核处理器中的不规则中断平衡

我遇到了 CPU7 过载的问题。我发现这是由 eth0 中断引起的,如下面的 cat /proc/interrupts 中所示。我使用的是 2.6.35.2 内核和四核 AMD Opteron(tm) 处理器 2354。我希望所有内核都支持该中断,因此我尝试回显 ff > /proc/irq/16/smp_affinity,但它不起作用。如果我设置 1、2、4、8、16 等,它适用于每个内核,但不适用于多个内核。我还有其他服务器,其中 smp_affinity 设置为“ff”,它可以正常工作,但这些机器运行在英特尔上。

           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
  0:        126          0          0          0          0          0          0          0   IO-APIC-edge      timer
  1:          0          0          0          0          0          0          0          8   IO-APIC-edge      i8042
  9:          0          0          0          0          0          0          0          0   IO-APIC-fasteoi   acpi
 10:          0          0          0          0          0          0          0          2   IO-APIC-fasteoi   ehci_hcd:usb1, ohci_hcd:usb2, ohci_hcd:usb3
 11:          0          0          0          0          0          0          0          0   IO-APIC-fasteoi   sata_svw
 14:          0          0          0          0          0          0          0         44   IO-APIC-edge      ide0
 16:     523739      38196      20957    1288960      40051      33985      99858   12142246   IO-APIC-fasteoi   eth0
 28:      33784          0          1         24          0          4       1017     199001   IO-APIC-fasteoi   megasas
NMI:          0          0          0          0          0          0          0          0   Non-maskable interrupts
LOC:   51149605   52755152   47000502   38164758   47335488   49653390   44361349   19201949   Local timer interrupts
SPU:          0          0          0          0          0          0          0          0   Spurious interrupts
PMI:          0          0          0          0          0          0          0          0   Performance monitoring interrupts
PND:          0          0          0          0          0          0          0          0   Performance pending work
RES:   29252262   26917272   17461908    9927632   26959155   24081482   15451952    5680615   Rescheduling interrupts
CAL:      86814        186        188        177       9656        176        169        176   Function call interrupts
TLB:      13134      52049      17599      15275       9937      18316      15062       9433   TLB shootdowns
ERR:          0
MIS:          0

谨致问候,安德鲁

答案1

嗯,smp_affinity 是一个位掩码。由于数字的二进制表示是

1:  0000 0001
2:  0000 0010
4:  0000 0100
8:  0000 1000
16: 0001 0000

您显然选择了错误的值。如果“ff”不起作用,请尝试使用“7”,它应该设置位掩码以允许 CPU 0-2 进行中断处理。否则定义“不起作用”并发布结果cat /proc/irq/16/smp_affinity

您可能还会阅读这篇博客文章它更详细地描述了 SMP 亲和性。

相关内容