sched: Disable energy-unfriendly nohz kicks
[firefly-linux-kernel-4.4.55.git] / kernel / sched / fair.c
index a82cf23f8917e40ed92d51dd97643b053b30d7fe..72651c54128ca07353253cfb10715340a185e0d9 100644 (file)
@@ -8280,12 +8280,13 @@ static inline bool nohz_kick_needed(struct rq *rq)
        if (time_before(now, nohz.next_balance))
                return false;
 
-       if (rq->nr_running >= 2)
+       if (rq->nr_running >= 2 &&
+           (!energy_aware() || cpu_overutilized(cpu)))
                return true;
 
        rcu_read_lock();
        sd = rcu_dereference(per_cpu(sd_busy, cpu));
-       if (sd) {
+       if (sd && !energy_aware()) {
                sgc = sd->groups->sgc;
                nr_busy = atomic_read(&sgc->nr_busy_cpus);