sched: isolate SMP balancing code a bit more
At the moment, a lot of load balancing code that is irrelevant to non SMP systems gets included during non SMP builds. This patch addresses this issue and reduces the binary size on non SMP systems: text data bss dec hex filename 10983 28 1192 12203 2fab sched.o.before 10739 28 1192 11959 2eb7 sched.o.after Signed-off-by: Peter Williams <pwil3058@bigpond.net.au> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
e1d1484f72
commit
681f3e6854
@ -98,6 +98,7 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p)
|
||||
p->se.exec_start = 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
/*
|
||||
* Load-balancing iterator. Note: while the runqueue stays locked
|
||||
* during the whole iteration, the current task might be
|
||||
@ -202,6 +203,7 @@ move_one_task_rt(struct rq *this_rq, int this_cpu, struct rq *busiest,
|
||||
return iter_move_one_task(this_rq, this_cpu, busiest, sd, idle,
|
||||
&rt_rq_iterator);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void task_tick_rt(struct rq *rq, struct task_struct *p)
|
||||
{
|
||||
@ -245,8 +247,10 @@ const struct sched_class rt_sched_class = {
|
||||
.pick_next_task = pick_next_task_rt,
|
||||
.put_prev_task = put_prev_task_rt,
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
.load_balance = load_balance_rt,
|
||||
.move_one_task = move_one_task_rt,
|
||||
#endif
|
||||
|
||||
.set_curr_task = set_curr_task_rt,
|
||||
.task_tick = task_tick_rt,
|
||||
|
Reference in New Issue
Block a user