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:
pgpCE29J9G5K1.pgp
Description: PGP signature