git: igb: Add MSI-X support

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Fri Jun 29 19:30:47 PDT 2012


commit 9c0ecdcc951a27bafbb3d98ea106b80f89a83235
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
      from Intel.

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(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9c0ecdcc951a27bafbb3d98ea106b80f89a83235


-- 
DragonFly BSD source repository





More information about the Commits mailing list