summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonwoo Park <joonwoop@codeaurora.org>2017-03-07 18:08:24 -0800
committerJoonwoo Park <joonwoop@codeaurora.org>2017-09-01 17:24:12 -0700
commit3989a247e2744f437233a36a0183edf3b3dfc8f1 (patch)
tree8e1440bb0e6e18d40fda2cab6ce6c8c604d1d323
parent11b618a0b2fc8598474a518add7037d4005d83e8 (diff)
sched: EAS: kill incorrect nohz idle cpu kick
EAS won't allow NOHZ idle balancer until CPU's over utilized. However nohz_kick_needed() can return true. This causes idle CPU wake up for nothing. Change-Id: I6e548442e29e4f85cda695e4c7101dd591b12fe6 Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
-rw-r--r--kernel/sched/fair.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 61c8952c7aaf..0f43ece69e8c 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -9768,12 +9768,12 @@ static inline bool nohz_kick_needed(struct rq *rq)
return true;
/* Do idle load balance if there have misfit task */
- if (energy_aware() && rq->misfit_task)
- return true;
+ if (energy_aware())
+ return rq->misfit_task;
rcu_read_lock();
sd = rcu_dereference(per_cpu(sd_busy, cpu));
- if (sd && !energy_aware()) {
+ if (sd) {
sgc = sd->groups->sgc;
nr_busy = atomic_read(&sgc->nr_busy_cpus);