summaryrefslogtreecommitdiffstats
path: root/sys/alpha
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2000-11-17 18:09:18 +0000
committerjake <jake@FreeBSD.org>2000-11-17 18:09:18 +0000
commit3a97b3e213f232a4b939a68fed0d93230f4b2ddb (patch)
treecac806cc5bcd1867db8a01f555cc5cd41f13cfba /sys/alpha
parent4392ed2ce56049571282c170b18fa4632409955e (diff)
downloadFreeBSD-src-3a97b3e213f232a4b939a68fed0d93230f4b2ddb.zip
FreeBSD-src-3a97b3e213f232a4b939a68fed0d93230f4b2ddb.tar.gz
- Split the run queue and sleep queue linkage, so that a process
may block on a mutex while on the sleep queue without corrupting it. - Move dropping of Giant to after the acquire of sched_lock. Tested by: John Hay <jhay@icomtek.csir.co.za> jhb
Diffstat (limited to 'sys/alpha')
-rw-r--r--sys/alpha/alpha/trap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/alpha/alpha/trap.c b/sys/alpha/alpha/trap.c
index a387910..50a386d 100644
--- a/sys/alpha/alpha/trap.c
+++ b/sys/alpha/alpha/trap.c
@@ -120,8 +120,8 @@ userret(p, pc, oticks, have_giant)
* indicated by our priority.
*/
s = splstatclock();
- DROP_GIANT_NOSWITCH();
mtx_enter(&sched_lock, MTX_SPIN);
+ DROP_GIANT_NOSWITCH();
setrunqueue(p);
p->p_stats->p_ru.ru_nivcsw++;
mi_switch();
OpenPOWER on IntegriCloud