diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index bfd407869ef0..5b89ec48ff9e 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -8452,8 +8452,9 @@ static int idle_balance(struct rq *this_rq) */ this_rq->idle_stamp = rq_clock(this_rq); - if (this_rq->avg_idle < sysctl_sched_migration_cost || - !this_rq->rd->overload) { + if (!energy_aware() && + (this_rq->avg_idle < sysctl_sched_migration_cost || + !this_rq->rd->overload)) { rcu_read_lock(); sd = rcu_dereference_check_sched_domain(this_rq->sd); if (sd)