git: bce: Improve tiny packets transmission performance on low frequency CPU

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Mon Nov 26 05:40:39 PST 2012


commit f52858a0e5001afe34e1bb2738532a7d298a4870
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Mon Nov 26 21:32:42 2012 +0800

    bce: Improve tiny packets transmission performance on low frequency CPU
    
    Update TX HOST_IDX and HOST_BSEQ registers a little bit often; mainly to
    improve timeliness of packets transmission:
    The TX HOST_IDX and HOST_BSEQ registers are updated 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.bceX.tx_wreg.
    
    The default value greatly improves tiny packets transmission performance
    w/ 5709C on AMD970 at 800Mhz (513Kpps -> 1Mpps) and it does not increase CPU
    usage on AMD970 at 3500Mhz (CPU usage stays @24%, 5709C could only do 1Mpps).

Summary of changes:
 sys/dev/netif/bce/if_bce.c    |   49 ++++++++++++++++++++++------------------
 sys/dev/netif/bce/if_bcereg.h |    1 +
 2 files changed, 28 insertions(+), 22 deletions(-)

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


-- 
DragonFly BSD source repository


More information about the Commits mailing list