皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Linux 6.10 新增对裸机硬件发布中断的支持

作为正在开发中的 Linux 6.10 内核 IRQ 更改的一部分,它支持裸机硬件上的发布中断。

英特尔旗下 Linutronix 公司的托马斯-格莱克斯纳(Thomas Gleixner)解释了裸机硬件上的发布中断功能:
“发布中断是一种虚拟化功能,它允许在没有主机交互的情况下直接向客户机注入中断。VT-d 中断重映射硬件在矢量位图中设置了与中断向量相对应的位,通过虚拟化 APIC 直接向客户机注入中断,或者在客户机被排出的情况下提供主机通知中断,通知主机位图中的中断已被标记为待处理。

在裸机环境下,多个设备(如 NVME 存储设备)会高频率地引发中断,这时就可以使用这种功能。在默认模式下,这些中断是独立处理的,因此需要一个完整的中断进入/退出往返。

利用发布的中断,可将这些中断条目合并为发布中断通知的单个条目,从而避免往返开销。然后,通知中断会在基于内存的位图中解复用待处理位,并调用相应的特定设备处理程序。

根据不同的使用场景和设备利用率,已测出吞吐量提高了 10% 到 130%。

由于该功能仅适用于每个 CPU 连接多个设备队列的高端服务器,而且在中断到达时间不同的情况下会适得其反,因此该功能可通过内核命令行参数进行选择。

很好,解释得很透彻。该功能要求在构建 Linux 6.10+ 内核时使用新的 “X86_POSTED_MSI “Kconfig 选项。posted_msi “也是实际启用该功能所需的命令行参数。

Linux 6.10 新增对裸机硬件发布中断的支持

更多详细信息,请参阅已发布到 Linux Git 的拉取请求

转自 Linux 6.10 Adds Support For Posted Interrupts On Bare Metal Hardware – Phoronix