Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Nov 2004 17:47:13 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 64957 for review
Message-ID:  <200411121747.iACHlDc8020365@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=64957

Change 64957 by jhb@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"));



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