git: bnx: Create dedicated thread for RX standard ring refilling

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Sun Apr 14 03:16:39 PDT 2013


commit 841cdf08263117c54b0a800440c7630b6913c21e
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Sun Apr 14 16:29:06 2013 +0800

    bnx: Create dedicated thread for RX standard ring refilling
    
    The RX standard ring descriptors and RX standard producer index register
    are updated only in the dedicated thread.  The RX standard ring software
    ring data are shared between RX return rings' processing threads and the
    dedicated thread.  The RX standard ring software ring data are updated in
    lockless fashion, since only one RX return ring could be the owner of the
    entry of RX standard ring software ring data.
    
    The RX standard ring refilling thread scheduling is optimized that only
    when certain amount of packets are received by the RX return ring, the
    RX standard ring refiling thread will be scheduled.
    
    This prepares for the multiple RX rings support.

Summary of changes:
 sys/dev/netif/bnx/if_bnx.c    | 284 +++++++++++++++++++++++++++++++-----------
 sys/dev/netif/bnx/if_bnxvar.h |  15 ++-
 2 files changed, 224 insertions(+), 75 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/841cdf08263117c54b0a800440c7630b6913c21e


-- 
DragonFly BSD source repository



More information about the Commits mailing list