git: igb: Improve tiny packets reception performance on low frequency CPU

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Sat Dec 8 22:44:49 PST 2012


commit b56e8196ddfdb1f6e5d0204b93e2be28fb17a7a3
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Sun Dec 9 14:36:20 2012 +0800

    igb: Improve tiny packets reception performance on low frequency CPU
    
    Update RDT register a little bit often, so the RX descriptors are made
    to the NIC chip on a more regularly base:
    The RDT register is updated after certain amount of RX descriptors are
    added to the hardware RX ring.  The default value of the amount of RX
    descriptors are 32.  This value could be further tuned by per-device
    sysctl node hw.igbX.rxY_wreg.
    
    The default value improves tiny packets reception performance w/ 82576
    on AMD970 at 800Mhz under interrupt mode for single stream (1.28Mpps ->
    1.48Mpps) and it does not increase CPU usage on AMD970 at 3500Mhz (CPU
    usage stays @36%).
    
    This commit does _not_ seem to affect the tiny packet reception
    performance when the workload are evenly distributed to all CPUs.

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

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b56e8196ddfdb1f6e5d0204b93e2be28fb17a7a3


-- 
DragonFly BSD source repository



More information about the Commits mailing list