Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Apr 2018 15:27:51 -0700
From:      Cy Schubert <Cy.Schubert@cschubert.com>
To:        Tijl Coosemans <tijl@FreeBSD.org>
Cc:        Rick Macklem <rmacklem@uoguelph.ca>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Subject:   Re: i386 hangs during halt "vnodes remaining... 0 time out"
Message-ID:  <201804212227.w3LMRp5W002975@slippy.cwsent.com>
In-Reply-To: Message from Tijl Coosemans <tijl@FreeBSD.org> of "Sat, 21 Apr 2018 23:49:34 %2B0200." <20180421234934.10d7dfab@kalimero.tijl.coosemans.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20180421234934.10d7dfab@kalimero.tijl.coosemans.org>, Tijl 
Cooseman
s writes:
> --MP_/TDsO+CDIra7UXGs=vVO3NTB
> Content-Type: text/plain; charset=US-ASCII
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline
>
> On Sat, 21 Apr 2018 21:09:09 +0000 Rick Macklem <rmacklem@uoguelph.ca> wrote:
> > With a recent head/current kernel (doesn't happen when running a Dec.
> > 2017 one), when I do a halt, it gets as far as:
> > 
> > vnodes remaining... 0 time out
> > 
> > and that's it (the time out appears several seconds after the first "0").
> > With a Dec. 2017 kernel there would be several "0"s printed.
> > It appears that it is stuck in the first iteration of the sched_sync()
> > loop after it is no longer in SYNCER_RUNNING state.
> > 
> > Any ideas? rick
>
> See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227404
> I have a patch (attached) but haven't been able to test it yet.

I've noticed this as well on my old Penium-M laptop (updated about 
twice a year). I'll try your patch this weekend or early next week.

~cy

>
> --MP_/TDsO+CDIra7UXGs=vVO3NTB
> Content-Type: text/x-patch
> Content-Transfer-Encoding: 7bit
> Content-Disposition: attachment; filename=bufdaemon.patch
>
> Index: sys/kern/vfs_bio.c
> ===================================================================
> --- sys/kern/vfs_bio.c	(revision 332165)
> +++ sys/kern/vfs_bio.c	(working copy)
> @@ -791,9 +791,12 @@ bufspace_daemon(void *arg)
>  {
>  	struct bufdomain *bd;
>  
> +	EVENTHANDLER_REGISTER(shutdown_pre_sync, kthread_shutdown, curthread,
> +	    SHUTDOWN_PRI_LAST);
> +
>  	bd = arg;
>  	for (;;) {
> -		kproc_suspend_check(curproc);
> +		kthread_suspend_check();
>  
>  		/*
>  		 * Free buffers from the clean queue until we meet our
> @@ -3357,7 +3360,7 @@ buf_daemon()
>  	/*
>  	 * This process needs to be suspended prior to shutdown sync.
>  	 */
> -	EVENTHANDLER_REGISTER(shutdown_pre_sync, kproc_shutdown, bufdaemonproc,
> +	EVENTHANDLER_REGISTER(shutdown_pre_sync, kthread_shutdown, curthread,
>  	    SHUTDOWN_PRI_LAST);
>  
>  	/*
> @@ -3381,7 +3384,7 @@ buf_daemon()
>  		bd_request = 0;
>  		mtx_unlock(&bdlock);
>  
> -		kproc_suspend_check(bufdaemonproc);
> +		kthread_suspend_check();
>  
>  		/*
>  		 * Save speedupreq for this pass and reset to capture new
>
> --MP_/TDsO+CDIra7UXGs=vVO3NTB
> Content-Type: text/plain; charset="us-ascii"
> MIME-Version: 1.0
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline
>
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>
> --MP_/TDsO+CDIra7UXGs=vVO3NTB--
>

-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804212227.w3LMRp5W002975>