splxxx level?
M. Warner Losh
imp at bsdimp.com
Mon Aug 30 15:08:35 PDT 2004
In message: <Pine.LNX.4.60.0408301548440.4347 at athena>
Sam <sah at softcardsystems.com> writes:
: Wow guys, this is great stuff, thanks!
:
: Here's what I've discovered so far and again,
: correct me if I'm wrong.
:
: In strategy, I need to protect from my callout
: and netisr running. In my netisr, I need to
: protect from my callout running. In my callout,
: I need to protect from my netisr running.
:
: It looks like I can use splnet() everywhere *except*
: where I'm pulling mbufs off of the mbuf queue in the
: netisr routine. There I'll have to use splimp() to
: keep from banging heads with the hardware.
:
: I think this is the optimum spl-ing as it will allow
: the network hardware to keep queueing up packets as I
: process them. Comments?
I'd be more inclined to use splimp() in all places because the network
code depends on it. There are some subtle dependencies that one will
run into if one only uses splnet().
Warner
More information about the freebsd-arch
mailing list