NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ongoing major problems with NetBSD-5 and LOCKDEBUG on multi-core system (mfi(4) related?)



On Thu, Jan 19, 2012 at 12:19:32PM -0500, Thor Lancelot Simon wrote:
> On Wed, Jan 18, 2012 at 08:59:47PM -0800, Greg A. Woods wrote:
> > 
> > So if I understand correctly these calls from other subsystems are not
> > in an interrupt context and if I remember correctly tsleep() should be
> > fine in any normal driver ioctl() function (for a non-MPSAFE driver, if
> > indeed its ioctl() function was in the device switch table), but clearly
> > grabbing the KERNEL_LOCK() is the wrong thing to do for this case, at
> > least without releasing it properly before the tsleep() call.
> 
> I don't know whether you can, or can't, sleep holding the KERNEL_LOCK().

You can. tsleep() (and other sleeping primitives) will release/reaquire
it as needed.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index