Date: Mon, 11 Sep 2000 15:24:24 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: John Baldwin <jhb@pike.osd.bsdi.com> Cc: Tor.Egge@fast.no, current@FreeBSD.ORG Subject: Re: Dirty buffers on reboot.. Message-ID: <Pine.BSF.4.21.0009111509410.606-100000@besplex.bde.org> In-Reply-To: <200009110049.RAA28932@pike.osd.bsdi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 10 Sep 2000, John Baldwin wrote: > Tor.Egge@fast.no wrote: > > > Ok, an update on the dirty buffers on reboot: > > > > > > If you use the reboot command, you will get dirty buffers. If you use > > > 'shutdown -r now' instead, you won't get dirty buffers. Thus, as a workaround > > > for now, use the shutdown command to reboot your box until we can track this > > > down. I haven't noticed this yet. I normally use reboot. > > I suggest using some method to allow interrupt threads to run during > > the shutdown. Perhaps the current process priority should be elevated > > so it is guaranteed to be scheduled after the last interrupt thread > > instead of some unrelated process. I'm surprised they get stopped. At least writing buffers in sync() depends on interrupts working. There is a problem for syncing in panic(). Interrupts (and tsleep()) shouldn't work in panic(), especially for panics in interrupt context. They used to sort of work by doing splx(safepri). This corresponds to blowing open all locks. > > RCS file: /home/ncvs/src/sys/kern/kern_shutdown.c,v > > retrieving revision 1.80 > > ... > > @@ -247,7 +248,18 @@ > > break; > > printf("%d ", nbusy); > > sync(&proc0, NULL); > > - DELAY(50000 * iter); > > + > > + if (curproc != NULL) { > > curproc is never NULL anymore, so the if statement can be removed. Can't it happen for panics while cold? The code "if (p && p != idleproc ...)" in uprintf() seems to be to handle this. We still have lots of (p == NULL) checks where coldness probably isn't an issue. 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?Pine.BSF.4.21.0009111509410.606-100000>