irqbalance não adiciona um módulo do kernel. É um daemon.
irqbalance não atribui IRQs a partes específicas de hardware, apenas mapeia esses IRQs para CPUs dinamicamente. Então, se a eth0 fosse atribuída a IRQ 28, o irqbalance moveria periodicamente o IRQ 28 da CPU0 para a CPU1 para a CPU2 para a CPU3 para a CPU0 ...
Você poderia fazer a mesma coisa manualmente escrevendo a máscara de afinidade da CPU em "/ proc / irq / $ {IRQ} / smp_affinity".
Pode haver algum atraso para uma interrupção chegar a uma CPU se a afinidade for alterada ao mesmo tempo, mas suponho que seja semelhante a qualquer processo que tenha experimentado uma alternância de contexto.