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>
This commit is contained in:
Ingo Molnar 2008-01-25 21:08:18 +01:00
parent 637f50851b
commit bdd7c81b49

View File

@ -767,6 +767,20 @@ static void set_cpus_allowed_rt(struct task_struct *p, cpumask_t *new_mask)
p->nr_cpus_allowed = weight; 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 */ #else /* CONFIG_SMP */
# define schedule_tail_balance_rt(rq) do { } while (0) # define schedule_tail_balance_rt(rq) do { } while (0)
# define schedule_balance_rt(rq, prev) 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) static void set_curr_task_rt(struct rq *rq)
{ {
struct task_struct *p = rq->curr; struct task_struct *p = rq->curr;
@ -838,11 +838,10 @@ const struct sched_class rt_sched_class = {
.load_balance = load_balance_rt, .load_balance = load_balance_rt,
.move_one_task = move_one_task_rt, .move_one_task = move_one_task_rt,
.set_cpus_allowed = set_cpus_allowed_rt, .set_cpus_allowed = set_cpus_allowed_rt,
.join_domain = join_domain_rt,
.leave_domain = leave_domain_rt,
#endif #endif
.set_curr_task = set_curr_task_rt, .set_curr_task = set_curr_task_rt,
.task_tick = task_tick_rt, .task_tick = task_tick_rt,
.join_domain = join_domain_rt,
.leave_domain = leave_domain_rt,
}; };