Il faut activer les patchs de Google RPS et RFS qui permettent d'avoir du multiqueues sur des cartes réseau cheap:
http://lwn.net/Articles/398393/

Il faut donc au minimum le kernel 2.6.35 (mais les suivants ont leur lot d'amélioration) puis activer le multiqueue :
http://alouche.net/2010/08/24/rps-and-rfs-kernel-network-stack/

Testé, validé, et en prod depuis la sortie du 2.6.35 ;)


Le 28 novembre 2012 19:26, Aurélien <footplus@gmail.com> a écrit :
2012/11/28 Wallace <wallace@morkitu.org>:

>
> Pour ma part sur une Debian avec kernel 3.4.19 la regexp ne marche pas.
> Voilà ce que j'ai dans le interrupts pour eth0 par exemple

La regex marche chez moi, mais effectivement, je l'ai faite pour mes
cartes. Elle est à tuner pour VMWare par ex.

>
>          CPU0               CPU1
> 307:  116542899          0  xen-pirq-msi-x     eth0-rx-0
> 308:   98413431          0  xen-pirq-msi-x     eth0-rx-1
> 309:  160018027          0  xen-pirq-msi-x     eth0-tx-0
> 310:   88439060          0  xen-pirq-msi-x     eth0-tx-1
>
> J'ai modifié la regexp comme cela (gbe|bnx|eth|igb)[0-9]+-(tx|rx)-[0-7]$
>
> Par contre avant d'appliquer la modification j'ai trouvé une valeur à 3
> dans le /proc/irq/(307-310)/smp_affinity
>

Oui, par défaut c'est activé sur tous les cores MAIS quand on en a
plus de 8, en fait la redistribution est fixe (Physical interrupt
routing ou un truc du genre).

> La machine est un xeon 4 core 8 en HT qui héberge du xen où j'ai
> spécialement réservé 2 core pour l'hyperviseur. Du coup la valeur 3
> m'interpelle un peu sachant que cela devrait être 1 ou 2 comme le
> confirme d'ailleurs /proc/irq/307/smp_affinity_list 1-2

Bah 3 c'est 1+2  ou "(core 1)(core 0)=11" en binaire non ?

>
> Par contre une fois les modifications appliquées j'ai
> /proc/irq/(307-310)/smp_affinity_list à 0 ou 1
> /proc/irq/(307-310)/smp_affinity à 1 ou 2
>
> Depuis que j'ai fait la modification j'ai bien le cpu1 qui bosse pour
> les irq donnés
> 307:  116646799          0  xen-pirq-msi-x     eth0-rx-0
> 308:   98452617      46945  xen-pirq-msi-x     eth0-rx-1
> 309:  160194164          0  xen-pirq-msi-x     eth0-tx-0
> 310:   88450878      16109  xen-pirq-msi-x     eth0-tx-1
>

Cool ^^

D'ailleurs si quelqu'un sait si le nombre d'interrupts par carte est
reglable sous VMWare, ça m'intéresse !

Cordialement,
--
Aurélien Guillaume
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/



--
Greg