DragonFly-2.3.0.312.g9f60d master sys/dev/netif/em if_em.c if_em.h

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Fri Feb 27 05:59:10 PST 2009


commit 9f60d74b3f53e4bb62e3dc48fe4a09f72f279045
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Sun Feb 22 17:57:22 2009 +0800

    em(4): Reduce TX interrupt rate and device's TX desc write requests
    
    The RS (report status) bit in the TX desc controls whether DD bit
    should be set by device (via write request) and whether TX interrupt
    should be generated.  By setting RS bit in the last TX desc of
    int_tx_nsegs TX descs, we greatly reduce the TX interrupt rate
    (from 20000/s to 1200/s for full speed 1472bytes UDP datagrams) and
    the number of device's TX desc write requests.  This also gives me
    additional +10Kpps on 82573E_IAMT.  Add sysctl node for int_tx_nsegs,
    its default value is 1/16 number of TX descs.  The implementation
    details are commented near struct adapter's related fields.

Summary of changes:
 sys/dev/netif/em/if_em.c |  305 ++++++++++++++++++++++++++++++++-------------
 sys/dev/netif/em/if_em.h |   80 +++++++++---
 2 files changed, 276 insertions(+), 109 deletions(-)

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


-- 
DragonFly BSD source repository





More information about the Commits mailing list