diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 1e12f731a033..cf3bbddd4b7f 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -11401,7 +11401,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)