Date: Mon, 30 Aug 2004 19:41:41 -0400 From: Stephan Uphoff <ups@tree.com> To: Sam <sah@softcardsystems.com> Cc: freebsd-arch@freebsd.org Subject: Re: splxxx level? Message-ID: <1093909301.61235.410.camel@palm.tree.com> In-Reply-To: <Pine.LNX.4.60.0408301548440.4347@athena> References: <20040830.102606.130865377.imp@bsdimp.com> <4133682D.3000403@freebsd.org><41336DC8.7080808@freebsd.org> <Pine.LNX.4.60.0408301548440.4347@athena>
next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org" > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1093909301.61235.410.camel>