git: netisr: Add netisr barrier which stalls all netisrs
Sepherosa Ziehau
sephe at crater.dragonflybsd.org
Sun Jan 30 17:51:38 PST 2011
commit a91f9815c9eb424a4960bbd52fbbd85b7d27a510
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date: Thu Dec 23 13:12:39 2010 +0800
netisr: Add netisr barrier which stalls all netisrs
netisr_barrier_set()
Set a netisr barrier, which stalls all netisr. Currently it must be
called from netisr0.
netisr_barrier_rem()
Remove the netisr barrier, which unstalls all netisr. Currently it
must be called from netisr0.
These interfaces could be used to work out a lockless pcb lookup or
iteration (on network hotpath e.g. input/output) at the cost of
relatively expensive pcb adding and removing (e.g. connect(2)).
Summary of changes:
sys/net/netisr.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
sys/net/netisr.h | 4 ++
2 files changed, 116 insertions(+), 0 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a91f9815c9eb424a4960bbd52fbbd85b7d27a510
--
DragonFly BSD source repository
More information about the Commits
mailing list