summaryrefslogtreecommitdiff
path: root/kernel/sched
diff options
context:
space:
mode:
authorKe Wang <ke.wang@spreadtrum.com>2017-11-09 11:30:56 +0800
committerTodd Kjos <tkjos@google.com>2017-12-13 17:01:03 +0000
commitb5797f6112c76298cacc3146cd578c82f167d094 (patch)
tree9c7a7c52b6dcfd84dd2ba2cb92d98cf604a10133 /kernel/sched
parente303a832d93e66e691ae08fd39d9969355da4955 (diff)
sched: EAS/WALT: Don't take into account of running task's util
For upmigrating misfit running task case, the currently running task's util has been counted into cpu_util(). Thus currently __cpu_overutilized() which add task's uitl twice is overestimated. Signed-off-by: Ke Wang <ke.wang@spreadtrum.com>
Diffstat (limited to 'kernel/sched')
-rw-r--r--kernel/sched/fair.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index b5ea66e5551c..d9b3ac867956 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6662,7 +6662,8 @@ static int select_energy_cpu_brute(struct task_struct *p, int prev_cpu, int sync
#ifdef CONFIG_SCHED_WALT
- if (!walt_disabled && sysctl_sched_use_walt_cpu_util)
+ if (!walt_disabled && sysctl_sched_use_walt_cpu_util &&
+ p->state == TASK_WAKING)
delta = task_util(p);
#endif
/* Not enough spare capacity on previous cpu */