splxxx level?

Stephan Uphoff ups at tree.com
Mon Aug 30 16:41:44 PDT 2004


Hi,

Disclaimer: I never developed for FreeBSD 4.X
and might be a few miles off target...

I vaguely recall seeing that vinum issues
new strategy calls to member disks
in the context of a buffer's biodone callback.

Because of this mixing local and network 
disks in a vinum set could cause the network 
disk's strategy to be called in the the 
interrupt context of the local disk controller.
( And the other way round?)


	Stephan

On Mon, 2004-08-30 at 17:39, Sam wrote:
> 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?
> 
> Sam
> 
> _______________________________________________
> freebsd-arch at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe at freebsd.org"
> 
> 



More information about the freebsd-arch mailing list