Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Aug 2004 16:05:34 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        sah@softcardsystems.com
Cc:        freebsd-arch@freebsd.org
Subject:   Re: splxxx level?
Message-ID:  <20040830.160534.104033700.imp@bsdimp.com>
In-Reply-To: <Pine.LNX.4.60.0408301548440.4347@athena>
References:  <20040830.120124.28086427.imp@bsdimp.com> <41336DC8.7080808@freebsd.org> <Pine.LNX.4.60.0408301548440.4347@athena>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <Pine.LNX.4.60.0408301548440.4347@athena>
            Sam <sah@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



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