[EMAIL PROTECTED] 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 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.
> 
> Index: kern_shutdown.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/kern/kern_shutdown.c,v
> retrieving revision 1.80
> diff -u -r1.80 kern_shutdown.c
> --- kern_shutdown.c   2000/09/07 01:32:51     1.80
> +++ kern_shutdown.c   2000/09/09 01:42:20
> @@ -220,6 +220,7 @@
>       if (!cold && (howto & RB_NOSYNC) == 0 && waittime < 0) {
>               register struct buf *bp;
>               int iter, nbusy;
> +             int subiter;
>  
>               waittime = 0;
>               printf("\nsyncing disks... ");
> @@ -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.

> +                       for (subiter = 0; subiter < 50 * iter; subiter++) {
> +                         mtx_enter(&sched_lock, MTX_SPIN);
> +                         setrunqueue(curproc);
> +                         mi_switch(); /* Allow interrupt threads to run */
> +                         mtx_exit(&sched_lock, MTX_SPIN);
> +                         DELAY(1000);
> +                       }
> +                     } else
> +                       DELAY(50000 * iter);
> +                       
>               }
>               printf("\n");
>               /*
> 
> - Tor Egge
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
> 


-- 

John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.cslab.vt.edu/~jobaldwi/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to