diff options
Diffstat (limited to 'kernel/cpu')
| -rw-r--r-- | kernel/cpu/idle.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/cpu/idle.c b/kernel/cpu/idle.c index c261409500e4..988573a9a387 100644 --- a/kernel/cpu/idle.c +++ b/kernel/cpu/idle.c | |||
| @@ -105,6 +105,13 @@ static void cpu_idle_loop(void) | |||
| 105 | __current_set_polling(); | 105 | __current_set_polling(); |
| 106 | } | 106 | } |
| 107 | arch_cpu_idle_exit(); | 107 | arch_cpu_idle_exit(); |
| 108 | /* | ||
| 109 | * We need to test and propagate the TIF_NEED_RESCHED | ||
| 110 | * bit here because we might not have send the | ||
| 111 | * reschedule IPI to idle tasks. | ||
| 112 | */ | ||
| 113 | if (tif_need_resched()) | ||
| 114 | set_preempt_need_resched(); | ||
| 108 | } | 115 | } |
| 109 | tick_nohz_idle_exit(); | 116 | tick_nohz_idle_exit(); |
| 110 | schedule_preempt_disabled(); | 117 | schedule_preempt_disabled(); |
