mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
sched/fair: ignore backup CPU when not valid
The find_best_target can sometimes not return a valid backup CPU, either because it cannot find one or just becasue it returns prev_cpu as a backup. In these cases we should skip the energy_diff evaluation for the backup CPU. Change-Id: I3787dbdfe74122348dd7a7485b88c4679051bd32 Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com> Signed-off-by: Chris Redpath <chris.redpath@arm.com> (cherry picked from commit d9bcf5b88594a0225b51878236e49305f272eadc) [trivial cherry-pick issue] Signed-off-by: Quentin Perret <quentin.perret@arm.com>
This commit is contained in:
committed by
Todd Kjos
parent
6abf18bda9
commit
78ff98b3aa
@@ -7071,7 +7071,9 @@ static int select_energy_cpu_brute(struct task_struct *p, int prev_cpu, int sync
|
||||
/* No energy saving for target_cpu, try backup */
|
||||
target_cpu = tmp_backup;
|
||||
eenv.dst_cpu = target_cpu;
|
||||
if (tmp_backup < 0 || energy_diff(&eenv) >= 0) {
|
||||
if (tmp_backup < 0 ||
|
||||
tmp_backup == prev_cpu ||
|
||||
energy_diff(&eenv) >= 0) {
|
||||
schedstat_inc(p->se.statistics.nr_wakeups_secb_no_nrg_sav);
|
||||
schedstat_inc(this_rq()->eas_stats.secb_no_nrg_sav);
|
||||
target_cpu = prev_cpu;
|
||||
|
||||
Reference in New Issue
Block a user