diff options
Diffstat (limited to 'kernel/sched')
-rw-r--r-- | kernel/sched/core.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 69f71335984f..9ad35005f1cb 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c | |||
@@ -1398,7 +1398,8 @@ static void sched_ttwu_pending(void) | |||
1398 | 1398 | ||
1399 | void scheduler_ipi(void) | 1399 | void scheduler_ipi(void) |
1400 | { | 1400 | { |
1401 | if (llist_empty(&this_rq()->wake_list) && !got_nohz_idle_kick()) | 1401 | if (llist_empty(&this_rq()->wake_list) && !got_nohz_idle_kick() |
1402 | && !tick_nohz_full_cpu(smp_processor_id())) | ||
1402 | return; | 1403 | return; |
1403 | 1404 | ||
1404 | /* | 1405 | /* |
@@ -1415,6 +1416,7 @@ void scheduler_ipi(void) | |||
1415 | * somewhat pessimize the simple resched case. | 1416 | * somewhat pessimize the simple resched case. |
1416 | */ | 1417 | */ |
1417 | irq_enter(); | 1418 | irq_enter(); |
1419 | tick_nohz_full_check(); | ||
1418 | sched_ttwu_pending(); | 1420 | sched_ttwu_pending(); |
1419 | 1421 | ||
1420 | /* | 1422 | /* |