C'est lié au nombre de coeurs et à l'architecture physique de la carte mère. J'ai constaté qu'au delà de 4 coeurs, les interruptions sont wirées sur un coeur et plus distribuées (pour les fans, lire ce qui concerne l'io-apic dans le noyau)
Effectivement, sur une machine 2 cœurs c'est distribué, sur une 4 cœurs aussi, et sur une 4 cœurs (8 threads) c'est bloqué sur un cœur.
irqbalance est à oublier, vu qu'il cherche l'économie d'énergie et pas la performance apparemment. Enfin, il ne fonctionne tout simplement pas quand on renomme les cartes (si ça ne commence pas par eth il est perdu).
Ok, d'ailleurs la version dans Debian Squeeze semble assez ancienne.
Perso j'ai fait des scripts dans le ifup.d qui redistribue les IRQs réseau en round-robin sur tous mes coeurs (je les matche avec une regex).
Un petit exemple ;)
Il peut y avoir un intérêt à mettre plus de cartes en LACP par exemple, même si pas beaucoup de débit, pour utiliser tous les coeurs (je pense à un LB en DSR par exemple); et à des cartes genre intel ou broadcom qui ont 8 files txrx avec chacune une interruption.
Effectivement c'est intéressant, dans mon cas c'est un LB en DSR justement.