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>