diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 79818cbf7a4f..95a0d08f59da 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -12174,7 +12174,7 @@ static void _nohz_idle_balance(struct rq *this_rq, unsigned int flags) * work being done for other CPUs. Next load * balancing owner will pick it up. */ - if (need_resched()) { + if (!idle_cpu(this_cpu) && need_resched()) { if (flags & NOHZ_STATS_KICK) has_blocked_load = true; if (flags & NOHZ_NEXT_KICK)