PERFORCE change 95694 for review

John Baldwin jhb at FreeBSD.org
Thu Apr 20 16:14:42 UTC 2006


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

Change 95694 by jhb at jhb_slimer on 2006/04/20 16:14:36

	Disable interrupts during the CPU shutdown to avoid problems
	with lapic timer interrupt blocking on sched_lock owned by a
	CPU that has been stopped.

Affected files ...

.. //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#32 edit
.. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#77 edit

Differences ...

==== //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#32 (text+ko) ====

@@ -361,6 +361,7 @@
 cpu_reset_proxy()
 {
 
+	disable_intr();
 	cpu_reset_proxy_active = 1;
 	while (cpu_reset_proxy_active == 1)
 		;	/* Wait for other cpu to see that we've started */
@@ -377,6 +378,7 @@
 #ifdef SMP
 	u_int cnt, map;
 
+	disable_intr();
 	if (smp_active) {
 		map = PCPU_GET(other_cpus) & ~stopped_cpus;
 		if (map != 0) {

==== //depot/projects/smpng/sys/i386/i386/vm_machdep.c#77 (text+ko) ====

@@ -526,6 +526,7 @@
 cpu_reset_proxy()
 {
 
+	disable_intr();
 	cpu_reset_proxy_active = 1;
 	while (cpu_reset_proxy_active == 1)
 		;	/* Wait for other cpu to see that we've started */
@@ -550,6 +551,7 @@
 #ifdef SMP
 	u_int cnt, map;
 
+	disable_intr();
 	if (smp_active) {
 		map = PCPU_GET(other_cpus) & ~stopped_cpus;
 		if (map != 0) {


More information about the p4-projects mailing list