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