diff options
author | jhb <jhb@FreeBSD.org> | 2000-11-15 19:44:38 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2000-11-15 19:44:38 +0000 |
commit | 4b3e3264c701b8386027335c7428b02b92941ac7 (patch) | |
tree | c93c21886b38260bec043baa83b6ef5a264942a0 /sys/alpha | |
parent | 3303fdc1ee03c22b41f5f1a946b6b737b4e2f8e4 (diff) | |
download | FreeBSD-src-4b3e3264c701b8386027335c7428b02b92941ac7.zip FreeBSD-src-4b3e3264c701b8386027335c7428b02b92941ac7.tar.gz |
Don't perform an mi_switch() when we release Giant during cpu_exit(). We
are about to call cpu_switch() anyways.
Found by: witness
Diffstat (limited to 'sys/alpha')
-rw-r--r-- | sys/alpha/alpha/vm_machdep.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/alpha/alpha/vm_machdep.c b/sys/alpha/alpha/vm_machdep.c index f260a26..0aff5a9 100644 --- a/sys/alpha/alpha/vm_machdep.c +++ b/sys/alpha/alpha/vm_machdep.c @@ -255,7 +255,8 @@ cpu_exit(p) (void) splhigh(); mtx_enter(&sched_lock, MTX_SPIN); - mtx_exit(&Giant, MTX_DEF); + mtx_exit(&Giant, MTX_DEF | MTX_NOSWITCH); + mtx_assert(&Giant, MA_NOTOWNED); cnt.v_swtch++; cpu_switch(); panic("cpu_exit"); |