aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/ksched.c
diff options
context:
space:
mode:
authorJohn Birrell <jb@FreeBSD.org>2006-10-26 21:42:22 +0000
committerJohn Birrell <jb@FreeBSD.org>2006-10-26 21:42:22 +0000
commit8460a577a4b4ec185bd813188a5b188893b8c140 (patch)
tree2136d90e7e60f4ef25fe147499787d0e6a155b82 /sys/kern/ksched.c
parent50159fa2161d549dbe2cb3ff9db1cc3816d48c37 (diff)
Notes
Diffstat (limited to 'sys/kern/ksched.c')
-rw-r--r--sys/kern/ksched.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/kern/ksched.c b/sys/kern/ksched.c
index 3c2ecb37867f..e8af76be0c9f 100644
--- a/sys/kern/ksched.c
+++ b/sys/kern/ksched.c
@@ -106,7 +106,11 @@ getscheduler(struct ksched *ksched, struct thread *td, int *policy)
int e = 0;
mtx_lock_spin(&sched_lock);
+#ifdef KSE
pri_to_rtp(td->td_ksegrp, &rtp);
+#else
+ pri_to_rtp(td, &rtp);
+#endif
mtx_unlock_spin(&sched_lock);
switch (rtp.type)
{
@@ -153,7 +157,11 @@ ksched_getparam(struct ksched *ksched,
struct rtprio rtp;
mtx_lock_spin(&sched_lock);
+#ifdef KSE
pri_to_rtp(td->td_ksegrp, &rtp);
+#else
+ pri_to_rtp(td, &rtp);
+#endif
mtx_unlock_spin(&sched_lock);
if (RTP_PRIO_IS_REALTIME(rtp.type))
param->sched_priority = rtpprio_to_p4prio(rtp.prio);
@@ -174,7 +182,9 @@ ksched_setscheduler(struct ksched *ksched,
{
int e = 0;
struct rtprio rtp;
+#ifdef KSE
struct ksegrp *kg = td->td_ksegrp;
+#endif
switch(policy)
{
@@ -189,6 +199,7 @@ ksched_setscheduler(struct ksched *ksched,
? RTP_PRIO_FIFO : RTP_PRIO_REALTIME;
mtx_lock_spin(&sched_lock);
+#ifdef KSE
rtp_to_pri(&rtp, kg);
FOREACH_THREAD_IN_GROUP(kg, td) { /* XXXKSE */
if (TD_IS_RUNNING(td)) {
@@ -199,6 +210,9 @@ ksched_setscheduler(struct ksched *ksched,
}
}
}
+#else
+ rtp_to_pri(&rtp, td);
+#endif
mtx_unlock_spin(&sched_lock);
}
else
@@ -212,6 +226,7 @@ ksched_setscheduler(struct ksched *ksched,
rtp.type = RTP_PRIO_NORMAL;
rtp.prio = p4prio_to_rtpprio(param->sched_priority);
mtx_lock_spin(&sched_lock);
+#ifdef KSE
rtp_to_pri(&rtp, kg);
/* XXX Simply revert to whatever we had for last
@@ -230,6 +245,9 @@ ksched_setscheduler(struct ksched *ksched,
}
}
+#else
+ rtp_to_pri(&rtp, td);
+#endif
mtx_unlock_spin(&sched_lock);
}
break;