diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index e2116e3d593e..9f8cb265589b 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10675,7 +10675,7 @@ static bool _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; goto abort;