diff options
author | attilio <attilio@FreeBSD.org> | 2010-08-12 13:46:43 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2010-08-12 13:46:43 +0000 |
commit | c47bc039c039f1716d8120d61cf6c65da5b441d5 (patch) | |
tree | 3bf907939d715434d8f9d4160db8e08994692b39 /sys/amd64/amd64/mp_machdep.c | |
parent | 40ab8ae40364fe49a6171090d5d3fe606572c848 (diff) | |
download | FreeBSD-src-c47bc039c039f1716d8120d61cf6c65da5b441d5.zip FreeBSD-src-c47bc039c039f1716d8120d61cf6c65da5b441d5.tar.gz |
Revert r211176:
As long as interrupts are disabled and there is not explicit call to
sched_add() there can't be any preemption there, thus the calls may be
consistent.
Reported by: kib, jhb
Diffstat (limited to 'sys/amd64/amd64/mp_machdep.c')
-rw-r--r-- | sys/amd64/amd64/mp_machdep.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index 3646ef0..7ea4d7d 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.c @@ -1324,10 +1324,8 @@ cpustop_handler(void) cpumask_t cpumask; u_int cpu; - sched_pin(); cpu = PCPU_GET(cpuid); cpumask = PCPU_GET(cpumask); - sched_unpin(); savectx(&stoppcbs[cpu]); @@ -1358,10 +1356,8 @@ cpususpend_handler(void) register_t cr3, rf; u_int cpu; - sched_pin(); cpu = PCPU_GET(cpuid); cpumask = PCPU_GET(cpumask); - sched_unpin(); rf = intr_disable(); cr3 = rcr3(); @@ -1542,14 +1538,10 @@ mp_grab_cpu_hlt(void) #endif int retval; -#ifdef MP_WATCHDOG - sched_pin(); mask = PCPU_GET(cpumask); +#ifdef MP_WATCHDOG cpuid = PCPU_GET(cpuid); - sched_unpin(); ap_watchdog(cpuid); -#else - mask = PCPU_GET(cpumask); #endif retval = 0; |