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