diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-05-21 11:52:00 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-05-21 11:52:00 -0700 |
commit | 970c305aa802346aaa741ab241f6f3f63d623cc0 (patch) | |
tree | 8e81fbe88704a2e20f93796b4ca52b1887e39dfb /kernel/sched/idle.c | |
parent | e7a3d62749183576854cdc961b8b1cddf1aed71e (diff) | |
parent | 8663effb24f9430394d3bf1ed2dac42a771421d1 (diff) | |
download | linux-970c305aa802346aaa741ab241f6f3f63d623cc0.tar.gz |
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fix from Thomas Gleixner:
"A single scheduler fix:
Prevent idle task from ever being preempted. That makes sure that
synchronize_rcu_tasks() which is ignoring idle task does not pretend
that no task is stuck in preempted state. If that happens and idle was
preempted on a ftrace trampoline the machine crashes due to
inconsistent state"
* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched/core: Call __schedule() from do_idle() without enabling preemption
Diffstat (limited to 'kernel/sched/idle.c')
-rw-r--r-- | kernel/sched/idle.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c index 2a25a9ec2c6e..ef63adce0c9c 100644 --- a/kernel/sched/idle.c +++ b/kernel/sched/idle.c @@ -265,7 +265,7 @@ static void do_idle(void) smp_mb__after_atomic(); sched_ttwu_pending(); - schedule_preempt_disabled(); + schedule_idle(); if (unlikely(klp_patch_pending(current))) klp_update_patch_state(current); |