git: igb: Don't update TDT upon very packets transmitted

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Thu Nov 22 04:15:37 PST 2012


commit 871c0e2b6879cde2fe8b1c76bc3ae0040abb975c
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Thu Nov 22 20:02:31 2012 +0800

    igb: Don't update TDT upon very packets transmitted
    
    The TDT is updated only after certain amount of TX descriptors are
    added to the hardware TX ring.  The default value of the amount of
    TX descriptors are 8.  This value could be further tuned by per-device
    sysctl node hw.igbX.tx_wreg_nsegs.
    
    CPU usage when transmitting 18bytes tiny UDP datagrams @1.48Mpps with
    82575 on AMD970 (3500Mhz) are reduced from 55% to 38% with the default
    value.
    
    Inspired-by: FreeBSD netmap's paper

Summary of changes:
 sys/dev/netif/igb/if_igb.c |   45 ++++++++++++++++++++++++++++++++++++++++---
 sys/dev/netif/igb/if_igb.h |    1 +
 2 files changed, 42 insertions(+), 4 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/871c0e2b6879cde2fe8b1c76bc3ae0040abb975c


-- 
DragonFly BSD source repository


More information about the Commits mailing list