At Tue, 31 Jan 2012 14:16:49 +0100, Manuel Bouyer
<bouyer%antioche.eu.org@localhost> wrote:
Subject: Re: ongoing major problems with NetBSD-5 and LOCKDEBUG on multi-core
system (mfi(4) related?)
>
> On Sun, Jan 22, 2012 at 03:34:48PM -0800, Greg A. Woods wrote:
> > Thanks, I finally got around to re-adding the KERNEL_LOCK() hooks
> > to mfi.c, but I did it quite differently than the original two
> > patches which did it, and instead I moved the splbio()/splx() calls into
> > the function where they're really needed, as was done in OpenBSD, since
> > that code can, I think, be called by other than bio(4) and
> > sysmon_envstat(9). I'll attach my current changes, which include the
> > missing bug fixes from OpenBSD, as well as my changes to splbio()/splx()
>
> You're now mixing splbio/splx with mutexes, I don't think this is correct.
Hmmm.....
I see that spl(9) says that soft interrupts at or below IPL_SOFTSERIAL
"may acquire adaptive mutexes". That would include IPL_SOFTBIO, but not
IPL_BIO (which is generally equivalent to IPL_VM).
I don't quite understand the issue though because on the other hand
mutex(9) says that spin mutexes can be acquired at IPL_VM or even
higher (right up to IPL_HIGH).
If I understand correctly all spl(9) use should be migrated to use
mutex(9), but in the mean time a slow migration should be fine while
both are in use, at least for separate purposes, I think.
--
Greg A. Woods
Planix, Inc.
<woods%planix.com@localhost> +1 250 762-7675 http://www.planix.com/
Attachment:
pgpXgRdJ4R6Qc.pgp
Description: PGP signature