aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched')
-rw-r--r--kernel/sched/core.c4
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
1399void scheduler_ipi(void) 1399void 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 /*