diff options
author | jake <jake@FreeBSD.org> | 2000-11-17 18:09:18 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2000-11-17 18:09:18 +0000 |
commit | 3a97b3e213f232a4b939a68fed0d93230f4b2ddb (patch) | |
tree | cac806cc5bcd1867db8a01f555cc5cd41f13cfba /sys/alpha | |
parent | 4392ed2ce56049571282c170b18fa4632409955e (diff) | |
download | FreeBSD-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.c | 2 |
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(); |