PC可以有多less硬件(PCI-MSI)中断?

在我的工作站上,/ proc / interrupts中只有两个PCI-MSI中断:

0: 11726919 0 IO-APIC-edge timer 1: 3 0 IO-APIC-edge i8042 7: 0 0 IO-APIC-edge parport0 8: 1 0 IO-APIC-edge rtc 9: 0 0 IO-APIC-level acpi 12: 4 0 IO-APIC-edge i8042 58: 13 94016 PCI-MSI eth0 169: 843271 71766622 IO-APIC-level uhci_hcd:usb3, eth1, HDA Intel 201: 1 0 IO-APIC-level uhci_hcd:usb4, uhci_hcd:usb6 209: 0 0 IO-APIC-level ehci_hcd:usb1 217: 2 0 IO-APIC-level ehci_hcd:usb2, uhci_hcd:usb5 225: 27 72309141 IO-APIC-level uhci_hcd:usb7, eth2 233: 6683 103839 PCI-MSI ahci NMI: 2236 4056 LOC: 11696665 11696593 ERR: 0 MIS: 0 

在其他更强大的RACK戴尔机器(8核)上,有七个这样的中断。

这是否取决于处理器的数量? IO-APIC级是软件中断吗?

我想分配PCI-MSI中断到我的网卡来提高性能。

IIRC PC可以有任意数量的MSI中断。 但每个设备限制为32(对于PCI 2.2)或2048(对于PCI 3.0)MSI中断。

另请参阅关于消息信号中断的wiki

从一些基础研究看来,不同的硬件会有不同的数字。

“每个接收到的网卡的DMA通道都可以产生一个中断,每个中断将以一个CPU为目标,Sun的multithreading10GbE每个端口有8个接收DMA通道,Quad GbE有4个,所以它们的中断最多可以指向8个和4个不同的CPU,为了避免中断CPU成为性能瓶颈,build议从每个端口接收DMA通道的数量或CPU的数量(以较低者为准)开始,以便将中断负载分配到足够的中央处理器。”

http://www.solarisinternals.com/wiki/index.php/Networks

所以我们需要知道你的主板/ proc / NIC来找出最好的设置。

“边缘”和“层次”是指边缘与层次的触发,这在硬件领域是非常不同的。 这种区别只有在谈到并行PCI总线的4条物理中断线时才有意义,除非它是对这种行为的软件仿真,或者在PCIe-PCI桥(有时用在扩展板内)的并行总线段上。