svn commit: r300489 - head/sys/kern

Gleb Smirnoff glebius at FreeBSD.org
Thu May 26 21:07:32 UTC 2016


On Mon, May 23, 2016 at 10:31:54AM +0000, Hans Petter Selasky wrote:
H> Author: hselasky
H> Date: Mon May 23 10:31:54 2016
H> New Revision: 300489
H> URL: https://svnweb.freebsd.org/changeset/base/300489
H> 
H> Log:
H>   Use DELAY() instead of _sleep() when SCHEDULER_STOPPED() is set inside
H>   pause_sbt(). This allows pause() to continue working during a panic()
H>   which is not invoking KDB. This is useful when debugging graphics
H>   drivers using the LinuxKPI.
H>   
H>   Obtained from:	kmacy @
H>   MFC after:	1 week

I wonder if this will help me with my freezes after panics in geom_mirror()
and in mps(4), which I handled as similar patches to these drivers theirselves.

Thanks!

H> Modified: head/sys/kern/kern_synch.c
H> ==============================================================================
H> --- head/sys/kern/kern_synch.c	Mon May 23 09:44:06 2016	(r300488)
H> +++ head/sys/kern/kern_synch.c	Mon May 23 10:31:54 2016	(r300489)
H> @@ -327,7 +327,7 @@ pause_sbt(const char *wmesg, sbintime_t 
H>  	if (sbt == 0)
H>  		sbt = tick_sbt;
H>  
H> -	if (cold || kdb_active) {
H> +	if (cold || kdb_active || SCHEDULER_STOPPED()) {
H>  		/*
H>  		 * We delay one second at a time to avoid overflowing the
H>  		 * system specific DELAY() function(s):

-- 
Totus tuus, Glebius.


More information about the svn-src-head mailing list