PERFORCE change 64957 for review

John Baldwin jhb at FreeBSD.org
Fri Nov 12 09:47:14 PST 2004


http://perforce.freebsd.org/chv.cgi?CH=64957

Change 64957 by jhb at jhb_slimer on 2004/11/12 17:46:12

	Don't recursively panic in sched_bind() if the panic happens on
	another CPU.  Probably panic() needs to better handle the case
	that a panic happens inside of a critical section.  I almost wish
	that panic() transferred to a dedicated shutdown thread instead.

Affected files ...

.. //depot/projects/smpng/sys/kern/kern_synch.c#85 edit

Differences ...

==== //depot/projects/smpng/sys/kern/kern_synch.c#85 (text+ko) ====

@@ -287,7 +287,7 @@
 #endif
 	KASSERT(td->td_critnest == 1 || (td->td_critnest == 2 &&
 	    (td->td_pflags & TDP_OWEPREEMPT) != 0 && (flags & SW_INVOL) != 0 &&
-	    newtd == NULL),
+	    newtd == NULL) || panicstr,
 	    ("mi_switch: switch in a critical section"));
 	KASSERT((flags & (SW_INVOL | SW_VOL)) != 0,
 	    ("mi_switch: switch must be voluntary or involuntary"));


More information about the p4-projects mailing list