modprobe igb InterruptThrottleRate=16000,16000
Dans ce cas, deux ports réseau sont pris en charge par igb sur le système. La valeur par défaut de chaque paramètre
est généralement le paramètre recommandé, sauf indication contraire.
Le tableau suivant contient les paramètres et les valeurs possibles des commandes modprobe :
Nom du paramètre
Plages/valeurs
valides
InterruptThrottleRate 0, 1, 3, 100-
100000
(0=désactivé,
1=dynamique,
3=dynamique
conservatif)
Valeur par
Description
défaut
3
Le pilote peut limiter le nombre d'interruptions par seconde
générées par la carte pour les paquets entrants. Pour ce faire,
il écrit une valeur sur la carte, basée sur le nombre maximum
d'interruptions que la carte générera par seconde.
Lorsque le paramètre InterruptThrottleRate est affecté d'une
valeur supérieure ou égale à 100, la carte est programmée
pour envoyer ce nombre maximum d'interruptions par
seconde, même si plus de paquets sont entrés. Cela réduit la
charge d'interruptions sur le système et peut diminuer
l'utilisation de l'unité centrale en cas de surcharge, mais
augmente la latence car les paquets ne sont pas traités aussi
rapidement.
Le comportement par défaut du pilote prenait pour hypothèse
que le paramètre InterruptThrottleRate possédait une valeur
statique de 8000, ce qui fournissait une bonne valeur de
secours pour tous les types de trafic, mais des performances
médiocres concernant le traitement des paquets et la latence.
Le pilote possède deux modes adaptatifs (valeur 1 ou 3) avec
lesquels il ajuste de façon dynamique la valeur
InterruptThrottleRate en fonction du trafic qu'il reçoit. Après
avoir déterminé le type de trafic entrant de la dernière tranche
de temps, il ajuste la valeur InterruptThrottleRate à une valeur
appropriée en fonction de ce trafic.
L'algorithme trie le trafic entrant à chaque intervalle dans des
classes. Une fois que la classe est déterminée, la valeur
InterruptThrottleRate est ajustée afin de correspondre au
mieux au type de trafic. Trois classes sont définies : "Bulk
traffic" (Trafic en vrac), pour les grandes quantités de paquets
de taille normale ; "Low latency" (Faible latence), pour les
trafics de petite quantité et/ou un pourcentage important de
petits paquets ; et "Lowest latency" (Plus faible latence), pour
les trafics composés presque exclusivement de petits paquets
et les très faibles trafics.
En mode dynamique conservatif, la valeur
InterruptThrottleRate est définie sur 4000 pour un trafic
tombant dans la classe "Bulk traffic" (Trafic en vrac). Si le trafic
tombe dans la classe "Low latency" (Faible latence) ou
"Lowest latency" (Plus faible latence), la valeur
InterruptThrottleRate est augmentée progressivement jusqu'à
20 000. Ce mode par défaut est adapté à la plupart des
applications.
Pour les cas où une faible latence est essentielle, tels que les
grappes ou les grilles d'ordinateurs, l'algorithme peut réduire
encore la latence lorsque le paramètre d'InterruptThrottleRate
est réglé sur le mode 1. Dans ce mode, qui fonctionne comme
le mode 3, l'InterruptThrottleRate est augmenté pas à pas
jusqu'à 70000 pour le travail de la classe à plus faible latence.