git: bnx: Create dedicated thread for RX standard ring refilling
sephe at crater.dragonflybsd.org
Sun Apr 14 03:16:39 PDT 2013
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(-)
DragonFly BSD source repository
More information about the Commits