aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Burkholder <jake@FreeBSD.org>2001-02-10 19:07:32 +0000
committerJake Burkholder <jake@FreeBSD.org>2001-02-10 19:07:32 +0000
commitc11f93b3e78216768d2d33af0d9b1f5d8400f5bf (patch)
tree5b8f50320c0548d1f3e6f9af6a5042de40e1283b
parentf580cdd6475e89811d89010692c3b628ff1b0bf6 (diff)
Notes
-rw-r--r--sys/kern/kern_synch.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c
index 8f5460270c9e..be0ba859bc6e 100644
--- a/sys/kern/kern_synch.c
+++ b/sys/kern/kern_synch.c
@@ -167,16 +167,12 @@ static void
roundrobin(arg)
void *arg;
{
-#ifndef SMP
- struct proc *p = curproc; /* XXX */
-#endif
-
-#ifdef SMP
+
+ mtx_lock_spin(&sched_lock);
need_resched();
+ mtx_unlock_spin(&sched_lock);
+#ifdef SMP
forward_roundrobin();
-#else
- if (p == PCPU_GET(idleproc) || RTP_PRIO_NEED_RR(p->p_rtprio.type))
- need_resched();
#endif
callout_reset(&roundrobin_callout, sched_quantum, roundrobin, NULL);