summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2001-03-07 03:20:15 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2001-03-07 03:20:15 +0000
commitff655691d8515e59cc1761d61c193c92bd008485 (patch)
treebded730059cab71ca8ae7cf694b182e6c1c45303 /sys
parent88411ba79171f0b25b194cf549f3633a8cc024c5 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/alpha/alpha/vm_machdep.c3
-rw-r--r--sys/amd64/amd64/vm_machdep.c3
-rw-r--r--sys/i386/i386/vm_machdep.c3
-rw-r--r--sys/ia64/ia64/vm_machdep.c4
-rw-r--r--sys/powerpc/aim/vm_machdep.c3
-rw-r--r--sys/powerpc/powerpc/vm_machdep.c3
6 files changed, 12 insertions, 7 deletions
diff --git a/sys/alpha/alpha/vm_machdep.c b/sys/alpha/alpha/vm_machdep.c
index e110d2945eab..856d0bbf6066 100644
--- a/sys/alpha/alpha/vm_machdep.c
+++ b/sys/alpha/alpha/vm_machdep.c
@@ -246,6 +246,7 @@ cpu_exit(p)
{
alpha_fpstate_drop(p);
+ PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
@@ -258,8 +259,8 @@ cpu_exit(p)
*/
p->p_stat = SZOMB;
- mp_fixme("assumption: p_pptr won't change at this time");
wakeup(p->p_pptr);
+ PROC_UNLOCK_NOSWITCH(p);
cnt.v_swtch++;
cpu_switch();
diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c
index 2cc597a5fccf..0a1510331035 100644
--- a/sys/amd64/amd64/vm_machdep.c
+++ b/sys/amd64/amd64/vm_machdep.c
@@ -253,6 +253,7 @@ cpu_exit(p)
reset_dbregs();
pcb->pcb_flags &= ~PCB_DBREGS;
}
+ PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
@@ -265,8 +266,8 @@ cpu_exit(p)
*/
p->p_stat = SZOMB;
- mp_fixme("assumption: p_pptr won't change at this time");
wakeup(p->p_pptr);
+ PROC_UNLOCK_NOSWITCH(p);
cnt.v_swtch++;
cpu_throw();
diff --git a/sys/i386/i386/vm_machdep.c b/sys/i386/i386/vm_machdep.c
index 2cc597a5fccf..0a1510331035 100644
--- a/sys/i386/i386/vm_machdep.c
+++ b/sys/i386/i386/vm_machdep.c
@@ -253,6 +253,7 @@ cpu_exit(p)
reset_dbregs();
pcb->pcb_flags &= ~PCB_DBREGS;
}
+ PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
@@ -265,8 +266,8 @@ cpu_exit(p)
*/
p->p_stat = SZOMB;
- mp_fixme("assumption: p_pptr won't change at this time");
wakeup(p->p_pptr);
+ PROC_UNLOCK_NOSWITCH(p);
cnt.v_swtch++;
cpu_throw();
diff --git a/sys/ia64/ia64/vm_machdep.c b/sys/ia64/ia64/vm_machdep.c
index 09ce46216956..e00411094ca5 100644
--- a/sys/ia64/ia64/vm_machdep.c
+++ b/sys/ia64/ia64/vm_machdep.c
@@ -295,7 +295,7 @@ cpu_exit(p)
{
ia64_fpstate_drop(p);
- (void) splhigh();
+ PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
@@ -308,8 +308,8 @@ cpu_exit(p)
*/
p->p_stat = SZOMB;
- mp_fixme("assumption: p_pptr won't change at this time");
wakeup(p->p_pptr);
+ PROC_UNLOCK_NOSWITCH(p);
cnt.v_swtch++;
cpu_switch();
diff --git a/sys/powerpc/aim/vm_machdep.c b/sys/powerpc/aim/vm_machdep.c
index e110d2945eab..856d0bbf6066 100644
--- a/sys/powerpc/aim/vm_machdep.c
+++ b/sys/powerpc/aim/vm_machdep.c
@@ -246,6 +246,7 @@ cpu_exit(p)
{
alpha_fpstate_drop(p);
+ PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
@@ -258,8 +259,8 @@ cpu_exit(p)
*/
p->p_stat = SZOMB;
- mp_fixme("assumption: p_pptr won't change at this time");
wakeup(p->p_pptr);
+ PROC_UNLOCK_NOSWITCH(p);
cnt.v_swtch++;
cpu_switch();
diff --git a/sys/powerpc/powerpc/vm_machdep.c b/sys/powerpc/powerpc/vm_machdep.c
index e110d2945eab..856d0bbf6066 100644
--- a/sys/powerpc/powerpc/vm_machdep.c
+++ b/sys/powerpc/powerpc/vm_machdep.c
@@ -246,6 +246,7 @@ cpu_exit(p)
{
alpha_fpstate_drop(p);
+ PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
mtx_unlock_flags(&Giant, MTX_NOSWITCH);
mtx_assert(&Giant, MA_NOTOWNED);
@@ -258,8 +259,8 @@ cpu_exit(p)
*/
p->p_stat = SZOMB;
- mp_fixme("assumption: p_pptr won't change at this time");
wakeup(p->p_pptr);
+ PROC_UNLOCK_NOSWITCH(p);
cnt.v_swtch++;
cpu_switch();