Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 09 Jul 2005 10:18:19 -0700
From:      Sam Leffler <sam@errno.com>
To:        ming fu <fming@borderware.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: what to replace splnet in FreeBSD 5.x?
Message-ID:  <42D006DB.8080108@errno.com>
In-Reply-To: <42CEF0EB.4000107@borderware.com>
References:  <42CEF0EB.4000107@borderware.com>

next in thread | previous in thread | raw e-mail | index | archive | help
ming fu wrote:
> Hi,
> 
> With splnet() became a no-op in sys/systm.h
> 
>    static __inline intrmask_t    splnet(void)        { return 0; }
> 
> What should I use to replace the splnet?
> 
> I have a module receiving input from both ip_input() and a device that 
> userland can write to. I guess I was cover from the ip_input() as it 
> should have the proper lock. However, I am on my own to figure out what 
> to replace the splnet() when receive from the device from the userland.  
> It uses splnet() in FreeBSD 4.x.

spl's lock execution threads.  5.x and later systems mostly lock data 
structures using mtx's (there are a very few exceptions).  Thus there 
isn't necessarily a direct replacement, you usually need to rethink your 
locking/synchronization strategy.

	Sam



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42D006DB.8080108>