Apparently, On Mon, Feb 18, 2002 at 12:43:18PM -0800,
Matthew Dillon said words to the effect of;
> :What John's patch does is spin while the lock owner is running on another cpu.
> :Spinning while there are no other processes on the run queues as well makes sense
> :but you'll also be doing a lot of acquires and releases of sched_lock.
> :The only thing that jumped out at me looking at the patch is that critnest cannot
> :be 0 here because the sched_lock is held; holding a spin lock implies being in a
> :critical section. I need to think about this more and would like you to wait until
> :John has a chance to look at it as well.
> Sure thing.
> Ah, critnest... you are right. I should be checking for
> critnest > 1.
I think you should just leave it alone, don't check critnest at all.
critnest != 1 is illegal because you can't acquire a sleep lock while
in an enclosing critical section.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message