Date: Wed, 17 Jul 2002 13:58:25 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: John Baldwin <jhb@FreeBSD.org> Cc: current@FreeBSD.org, Andrew Kolchoogin <andrew@snark.rinet.ru>, Andrew Gallatin <gallatin@cs.duke.edu> Subject: Re: VOP_GETATTR panic on Alpha Message-ID: <20020717134948.G3565-100000@gamplex.bde.org> In-Reply-To: <XFMail.20020716213951.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 16 Jul 2002, John Baldwin wrote:
> On 17-Jul-2002 Bruce Evans wrote:
> >> mtx_lock_spin(&sched_lock);
> >> if (cold || panicstr) {
> >> /*
> >> * After a panic, or during autoconfiguration,
> >> * just give interrupts a chance, then just return;
> > ^^^^^^^^^^^^^^^^^^^^^^^^
> >
> > This is the rotted comment. No chance is given here.
>
> Well, when you unlock sched_lock you give ithreads a chance to run. (This
> is only true in a fully preemptive kernel though.)
It now only releases the lock that it aquired. splx(safepri) gave a
nesting-violating unlocking corresponding to releasing the caller(s)
locks. However, it is probably a bug to call msleep() with sched_lock
held, so releasing sched_lock would release it completely but not give
interrupts any better chance than they had to begin with.
Bruce
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020717134948.G3565-100000>
