diff options
author | Peter Zijlstra <peterz@infradead.org> | 2014-02-24 21:22:07 +0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-02-27 15:41:01 +0400 |
commit | 06d50c65b1043b166d102accc081093f79d8f7e5 (patch) | |
tree | 76650ebe1834d25b7c08bd95c7dcfc4db1a57ea1 /kernel/sched/idle.c | |
parent | f5f9739d7a0ccbdcf913a0b3604b134129d14f7e (diff) | |
download | linux-06d50c65b1043b166d102accc081093f79d8f7e5.tar.xz |
sched/idle: Remove stale old file
Commit cf37b6b48428d ("sched/idle: Move cpu/idle.c to sched/idle.c")
said to simply move a file; somehow it got mangled and created an old
version of the file and forgot to remove the old file.
Fix this fail; add the lost change and remove the now identical old
file.
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: rjw@rjwysocki.net
Cc: nicolas.pitre@linaro.org
Cc: preeti@linux.vnet.ibm.com
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: http://lkml.kernel.org/r/20140224172207.GC9987@twins.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sched/idle.c')
-rw-r--r-- | kernel/sched/idle.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c index 14ca43430aee..b7976a127178 100644 --- a/kernel/sched/idle.c +++ b/kernel/sched/idle.c @@ -108,14 +108,17 @@ static void cpu_idle_loop(void) __current_set_polling(); } arch_cpu_idle_exit(); - /* - * We need to test and propagate the TIF_NEED_RESCHED - * bit here because we might not have send the - * reschedule IPI to idle tasks. - */ - if (tif_need_resched()) - set_preempt_need_resched(); } + + /* + * Since we fell out of the loop above, we know + * TIF_NEED_RESCHED must be set, propagate it into + * PREEMPT_NEED_RESCHED. + * + * This is required because for polling idle loops we will + * not have had an IPI to fold the state for us. + */ + preempt_set_need_resched(); tick_nohz_idle_exit(); schedule_preempt_disabled(); } |