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

linux-kernel – IO-APIC级别与PCI-MSI-X之间的差异,第1张

概述在/ proc / interrupts文件中,我看到IO-APIC级别(或边缘),在我的其他系统中,我看到了PCI-MSI-X.两者都具有相同的设备精神. 我并没有在这两者之间产生差异.我可以将PCI-MSI-X更改为IO-APIC吗?它属于哪个内核模块或文件或conf或proc文件? 将中断分配给所有可用的CPU核心是否安全? MSI-X中断是基于消息的中断,是PCIe设备发出中断信号的唯一方 在/ 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之间的差异全部内容,希望文章能够帮你解决linux-kernel – IO-APIC级别与PCI-MSI-X之间的差异所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1050058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存