diff options
author | Peter Zijlstra <peterz@infradead.org> | 2014-01-17 09:09:39 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-02-10 10:17:22 -0500 |
commit | 6c3b4d44ba2838f00614a5a2d777d4401e0bfd71 (patch) | |
tree | e184734203067184258b7f05f3e4b6f33e456223 /kernel/sched | |
parent | 678d5718d8d099421b0dd54c01b0528f4aaf5919 (diff) |
sched: Clean up idle task SMP logic
The idle post_schedule flag is just a vile waste of time, furthermore
it appears unneeded, move the idle_enter_fair() call into
pick_next_task_idle().
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>
Cc: alex.shi@linaro.org
Cc: mingo@kernel.org
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/n/tip-aljykihtxJt3mkokxi0qZurb@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sched')
-rw-r--r-- | kernel/sched/idle_task.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/kernel/sched/idle_task.c b/kernel/sched/idle_task.c index e5c922ac40ce..721371bf03bd 100644 --- a/kernel/sched/idle_task.c +++ b/kernel/sched/idle_task.c | |||
@@ -19,11 +19,6 @@ static void pre_schedule_idle(struct rq *rq, struct task_struct *prev) | |||
19 | idle_exit_fair(rq); | 19 | idle_exit_fair(rq); |
20 | rq_last_tick_reset(rq); | 20 | rq_last_tick_reset(rq); |
21 | } | 21 | } |
22 | |||
23 | static void post_schedule_idle(struct rq *rq) | ||
24 | { | ||
25 | idle_enter_fair(rq); | ||
26 | } | ||
27 | #endif /* CONFIG_SMP */ | 22 | #endif /* CONFIG_SMP */ |
28 | /* | 23 | /* |
29 | * Idle tasks are unconditionally rescheduled: | 24 | * Idle tasks are unconditionally rescheduled: |
@@ -41,8 +36,7 @@ pick_next_task_idle(struct rq *rq, struct task_struct *prev) | |||
41 | 36 | ||
42 | schedstat_inc(rq, sched_goidle); | 37 | schedstat_inc(rq, sched_goidle); |
43 | #ifdef CONFIG_SMP | 38 | #ifdef CONFIG_SMP |
44 | /* Trigger the post schedule to do an idle_enter for CFS */ | 39 | idle_enter_fair(rq); |
45 | rq->post_schedule = 1; | ||
46 | #endif | 40 | #endif |
47 | return rq->idle; | 41 | return rq->idle; |
48 | } | 42 | } |
@@ -106,7 +100,6 @@ const struct sched_class idle_sched_class = { | |||
106 | #ifdef CONFIG_SMP | 100 | #ifdef CONFIG_SMP |
107 | .select_task_rq = select_task_rq_idle, | 101 | .select_task_rq = select_task_rq_idle, |
108 | .pre_schedule = pre_schedule_idle, | 102 | .pre_schedule = pre_schedule_idle, |
109 | .post_schedule = post_schedule_idle, | ||
110 | #endif | 103 | #endif |
111 | 104 | ||
112 | .set_curr_task = set_curr_task_idle, | 105 | .set_curr_task = set_curr_task_idle, |