Date: Thu, 20 Apr 2006 16:14:37 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 95694 for review Message-ID: <200604201614.k3KGEbum012503@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=95694 Change 95694 by jhb@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) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200604201614.k3KGEbum012503>