Re: Revision 309657 to stack_machdep.c renders unbootable system

From: Steven G. Kargl <kargl_at_troutmask.apl.washington.edu>
Date: Fri, 16 Dec 2016 15:26:55 -0800
On Fri, Dec 16, 2016 at 03:19:09PM -0800, John Baldwin wrote:
> 
> So the hack in pause() is probably not as necessary now.  In particular, I
> think we only need it for thread0, not for other threads.  The patch below
> worked for me with SPEW's config:
> 
> Index: kern_synch.c
> ===================================================================
> --- kern_synch.c	(revision 310128)
> +++ kern_synch.c	(working copy)
> _at__at_ -321,7 +321,8 _at__at_ pause_sbt(const char *wmesg, sbintime_t sbt, sbint
>  	if (sbt == 0)
>  		sbt = tick_sbt;
>  
> -	if (cold || kdb_active || SCHEDULER_STOPPED()) {
> +	if ((cold && curthread == &thread0) || kdb_active ||
> +	    SCHEDULER_STOPPED()) {
>  		/*
>  		 * We delay one second at a time to avoid overflowing the
>  		 * system specific DELAY() function(s):
> 

I'll give your patch a try on Monday.  I'm heading out the door
for the weekend, and the system that has problems sits in my office.
System is currently rebuilding firefox-50, which seems to have
a penchant for becoming wedged.  An unkillable program consuming
~1 GB of memory. :(

-- 
Steve
http://troutmask.apl.washington.edu/~kargl/
 2. https://www.youtube.com/watch?v=Py6d6o2jbaE
 1. https://www.youtube.com/watch?v=6hwgPfCcpyQ
Received on Fri Dec 16 2016 - 22:27:03 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:09 UTC