git: igb: Add MSI-X support
sephe at crater.dragonflybsd.org
Fri Jun 29 19:30:47 PDT 2012
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date: Sun Jun 17 16:03:11 2012 +0800
igb: Add MSI-X support
- As many RX rings will be enabled, if they are allowed by the number of
available MSI-X vectors and number of CPUs.
- RX MSI-X vectors could be grouped to specific CPU set. However, the
first CPU of the CPU set must be aligned on RX MSI-X vector count; by
default RX MSI-X vectors are grouped according to the device's software
unit number. Tunable hw.igbX.msix.rxoff could be used to regroup RX
MSI-X vector to a specific set of CPUs.
- TX ring uses seperate MSI-X if possible. TX MSI-X vector could be bound
to a specific CPU; bydefault TX MSI-X vectors is bound to the CPU based
on the device's software unit number. Tunable hw.igbX.msix.txoff could
be used to bind TX MSI-X to a specific CPU.
- Per MSI-X vector interrupt moderation sysctl hw.igbX.msiY_rate is added.
The default interrupt rate for TX is 4000, which is enough to generate
1.48Mpps small packets. The default interrupt rate for RX is 6000.
- MSI-X must not be enabled on 82575 according to the specification update
Summary of changes:
sys/conf/options | 1 +
sys/config/LINT | 1 +
sys/config/LINT64 | 1 +
sys/dev/netif/igb/Makefile | 1 +
sys/dev/netif/igb/if_igb.c | 753 +++++++++++++++++++++++++++++++++++++-------
sys/dev/netif/igb/if_igb.h | 40 +++
6 files changed, 677 insertions(+), 120 deletions(-)
DragonFly BSD source repository
More information about the Commits