Linux-Kernel

irqbalance 的工作原理

  • January 10, 2017

irqbalance 添加核心模組嗎?使用者空間守護程序如何將中斷分配給不同的處理器?如果是使用者空間程序正在執行此操作,核心到使用者空間上下文切換不會延遲中斷處理嗎?

irqbalance 不添加核心模組。它是一個守護程序。

irqbalance 不會將 IRQ 分配給特定的硬體,它只是將這些 IRQ 動態映射到 CPU。因此,如果為 eth0 分配了 IRQ 28,則 irqbalance 將定期將 IRQ 28 從 CPU0 移動到 CPU1 到 CPU2 到 CPU3 到 CPU0…

您可以通過將 CPU 關聯遮罩寫入“/proc/irq/${IRQ}/smp_affinity”來手動執行相同的操作。

如果同時更改關聯性,則中斷進入 CPU 可能會有一些延遲,但我猜這與經歷上下文切換的任何程序類似。

引用自:https://serverfault.com/questions/825375