Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 66b5ce9d authored by Srivatsa Vaddagiri's avatar Srivatsa Vaddagiri
Browse files

sched: Limit LBF_PWR_ACTIVE_BALANCE to within cluster



When higher power (performance) cluster has only one online cpu, we
currently let an idle cpu in lower power cluster pull a running task
from performance cluster via active balance. Active balance for
power-aware reasons is supposed to be restricted to balance within
cluster, the check for which is not correctly implemented.

Change-Id: I5fba7f01ad80c082a9b27e89b7f6b17a6d9cde14
Signed-off-by: default avatarSrivatsa Vaddagiri <vatsa@codeaurora.org>
parent de4cd7bb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5939,7 +5939,7 @@ static bool update_sd_pick_busiest(struct lb_env *env,
	/* Mark a less power-efficient CPU as busy only if we haven't
	 * seen a busy group yet. We want to prioritize spreading
	 * work over power optimization. */
	if (!sds->busiest && sg->group_weight == 1 &&
	if (!sds->busiest && (capacity(env->dst_rq) == group_rq_capacity(sg)) &&
	    sgs->sum_nr_running && (env->idle != CPU_NOT_IDLE) &&
	    power_cost_at_freq(env->dst_cpu, 0) <
	    power_cost_at_freq(cpumask_first(sched_group_cpus(sg)), 0)) {