summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_subr.c
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/kern/kern_subr.c
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/kern/kern_subr.c')
-rw-r--r--sys/kern/kern_subr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/kern_subr.c b/sys/kern/kern_subr.c
index 429f34b..c379f79 100644
--- a/sys/kern/kern_subr.c
+++ b/sys/kern/kern_subr.c
@@ -377,8 +377,8 @@ uio_yield()
p = curproc;
s = splhigh();
- DROP_GIANT_NOSWITCH();
mtx_enter(&sched_lock, MTX_SPIN);
+ DROP_GIANT_NOSWITCH();
p->p_priority = p->p_usrpri;
setrunqueue(p);
p->p_stats->p_ru.ru_nivcsw++;
OpenPOWER on IntegriCloud