aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-01-25 21:08:18 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-25 21:08:18 +0100
commitbdd7c81b4973e72b670eff6b5725bab189b723d6 (patch)
tree5660b7ee8b2e9bc295053901112f70d5e784c183
parentsched: only balance our RT tasks within our domain (diff)
downloadlinux-dev-bdd7c81b4973e72b670eff6b5725bab189b723d6.tar.xz
linux-dev-bdd7c81b4973e72b670eff6b5725bab189b723d6.zip
sched: fix sched_rt.c:join/leave_domain
fix build bug in sched_rt.c:join/leave_domain and make them only be included on SMP builds. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to '')
-rw-r--r--kernel/sched_rt.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index b049e5110eea..3ea0cae513d2 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -767,6 +767,20 @@ static void set_cpus_allowed_rt(struct task_struct *p, cpumask_t *new_mask)
p->nr_cpus_allowed = weight;
}
+/* Assumes rq->lock is held */
+static void join_domain_rt(struct rq *rq)
+{
+ if (rq->rt.overloaded)
+ rt_set_overload(rq);
+}
+
+/* Assumes rq->lock is held */
+static void leave_domain_rt(struct rq *rq)
+{
+ if (rq->rt.overloaded)
+ rt_clear_overload(rq);
+}
+
#else /* CONFIG_SMP */
# define schedule_tail_balance_rt(rq) do { } while (0)
# define schedule_balance_rt(rq, prev) do { } while (0)
@@ -799,20 +813,6 @@ static void task_tick_rt(struct rq *rq, struct task_struct *p)
}
}
-/* Assumes rq->lock is held */
-static void join_domain_rt(struct rq *rq)
-{
- if (rq->rt.overloaded)
- rt_set_overload(rq);
-}
-
-/* Assumes rq->lock is held */
-static void leave_domain_rt(struct rq *rq)
-{
- if (rq->rt.overloaded)
- rt_clear_overload(rq);
-}
-
static void set_curr_task_rt(struct rq *rq)
{
struct task_struct *p = rq->curr;
@@ -838,11 +838,10 @@ const struct sched_class rt_sched_class = {
.load_balance = load_balance_rt,
.move_one_task = move_one_task_rt,
.set_cpus_allowed = set_cpus_allowed_rt,
+ .join_domain = join_domain_rt,
+ .leave_domain = leave_domain_rt,
#endif
.set_curr_task = set_curr_task_rt,
.task_tick = task_tick_rt,
-
- .join_domain = join_domain_rt,
- .leave_domain = leave_domain_rt,
};