svn commit: r300489 - head/sys/kern

Hans Petter Selasky hselasky at FreeBSD.org
Mon May 23 10:31:55 UTC 2016


Author: hselasky
Date: Mon May 23 10:31:54 2016
New Revision: 300489
URL: https://svnweb.freebsd.org/changeset/base/300489

Log:
  Use DELAY() instead of _sleep() when SCHEDULER_STOPPED() is set inside
  pause_sbt(). This allows pause() to continue working during a panic()
  which is not invoking KDB. This is useful when debugging graphics
  drivers using the LinuxKPI.
  
  Obtained from:	kmacy @
  MFC after:	1 week

Modified:
  head/sys/kern/kern_synch.c

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


More information about the svn-src-all mailing list