irqbalance 的工作原理

irqbalance 的工作原理

irqbalance 是否添加了内核模块?用户空间守护进程如何将中断分配给不同的处理器?如果是用户空间进程执行此操作,内核到用户空间的上下文切换不会延迟中断处理吗?

答案1

irqbalance 不添加内核模块。它是一个守护进程。

irqbalance 不会将 IRQ 分配给特定硬件,它只是将这些 IRQ 动态映射到 CPU。因此,如果 eth0 被分配了 IRQ 28,irqbalance 会定期将 IRQ 28 从 CPU0 移动到 CPU1、CPU2、CPU3、CPU0...

您可以通过将 CPU 亲和性掩码写入“/proc/irq/${IRQ}/smp_affinity”来手动执行相同的操作。

如果亲和性同时发生变化,到达 CPU 的中断可能会有一些延迟,但我猜测这与经历上下文切换的任何过程类似。

相关内容