summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2002-06-24 15:48:02 +0000
committerjake <jake@FreeBSD.org>2002-06-24 15:48:02 +0000
commite102a9b6dd829c7b39358e1bed4ae6be3a6758d7 (patch)
tree1a54d6235cda96b2ca3034521ce9b0b528207189 /sys/kern
parentfcf509a309739f81379da3e12a817b78746521b8 (diff)
downloadFreeBSD-src-e102a9b6dd829c7b39358e1bed4ae6be3a6758d7.zip
FreeBSD-src-e102a9b6dd829c7b39358e1bed4ae6be3a6758d7.tar.gz
Add an MD callout like cpu_exit, but which is called after sched_lock is
obtained, when all other scheduling activity is suspended. This is needed on sparc64 to deactivate the vmspace of the exiting process on all cpus. Otherwise if another unrelated process gets the exact same vmspace structure allocated to it (same address), its address space will not be activated properly. This seems to fix some spontaneous signal 11 problems with smp on sparc64.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_exit.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index d35b3e1..fab9437 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -448,6 +448,7 @@ exit1(td, rv)
binuptime(PCPU_PTR(switchtime));
PCPU_SET(switchticks, ticks);
+ cpu_sched_exit(td);
cpu_throw();
panic("exit1");
}
OpenPOWER on IntegriCloud