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