summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorKe Wang <ke.wang@spreadtrum.com>2017-10-30 17:38:16 +0800
committerTodd Kjos <tkjos@google.com>2017-11-02 17:59:53 +0000
commit7d5a251c66be3516c14cffa80e6b076b37736971 (patch)
tree88284fb44d68960a77a0c6bcdcf703830728f677 /kernel
parent1cb87c38cb81847938bbb4776d9c6f3afe8fd938 (diff)
sched: EAS: update trg_cpu to backup_cpu if no energy saving for target_cpu
If no energy saving for target_cpu in the calculation of energy_diff(), backup_cpu will be set as the new dst_cpu for the next calculation. At this point, we also need update the new trg_cpu as backup_cpu to make sure the subsequent calculation of energy_diff() is correct. Signed-off-by: Ke Wang <ke.wang@spreadtrum.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched/fair.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 06b814b58d20..3b429c5ce721 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6723,6 +6723,7 @@ 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;
+ eenv.trg_cpu = target_cpu;
if (tmp_backup < 0 ||
tmp_backup == prev_cpu ||
energy_diff(&eenv) >= 0) {