diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index ddab19e5bd63..d1a67776ecb5 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -12121,7 +12121,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)