DragonFly BSD
DragonFly commits List (threaded) for 2013-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: Sepherosa Ziehau <sephe@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 14 Apr 2013 03:16:39 -0700 (PDT)

commit 841cdf08263117c54b0a800440c7630b6913c21e
Author: Sepherosa Ziehau <sephe@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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]