gpt4 book ai didi

linux-kernel - IO-APIC 级别和 PCI-MSI-X 之间的差异

转载 作者:行者123 更新时间:2023-12-04 05:16:13 24 4
gpt4 key购买 nike

关闭。这个问题是off-topic .它目前不接受答案。












想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。

9年前关闭。




Improve this question




/proc/interrupts文件我看到 IO-APIC 级别(或边缘),在我的其他系统中我看到 PCI-MSI-X。两者都具有相同的设备精神。
我没有得到这两者之间的差异。我可以将 PCI-MSI-X 更改为 IO-APIC 吗?它属于哪个内核模块或文件或conf或proc文件?

将中断分配到所有可用的 CPU 内核是否安全?

最佳答案

MSI-X 中断是基于消息的中断,是 PCIe 设备发出中断信号的唯一方法。该设备不是通过断言硬件线来发出中断信号,而是将单个字写入预配置的地址。该地址要么是 CPU 中的控制寄存器,要么是模拟传统中断系统的 PCIe 根端口中的寄存器。你看到了这两种情况。

BIOS 将主板配置为将其 MSI 中断发送到根端口,该端口模拟 INTx 中断,这些中断通过 APIC 中的路由到达 CPU。当 OS 直接支持 MSI 时,设备驱动程序可以重新编程 MSI 目标地址,使中断消息直接到达 CPU 中断寄存器。

MSI-X 与 MSI 的不同之处仅在于支持多个中断向量(例如,一个用于双端口 NIC 上的每个网络端口,或者一个用于 TX 和 RX)。

MSI 的性能优于 INTx 仿真,因为 INTx 仿真在同一个 PCIe 桥后面的设备之间共享其中断,尽管这实际上只对产生大量中断的设备很重要,而现代 NIC 实际上不这样做。您的问题应该是,“为什么我的一个系统无法在我的网卡上启用 MSI-X 中断。”

引用:

http://lwn.net/Articles/44139/

http://en.wikipedia.org/wiki/Message_Signaled_Interrupts

关于linux-kernel - IO-APIC 级别和 PCI-MSI-X 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10894702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com