sched/fair: fix cpu util for waking tasks

While computing cpu utilization for the waking task,
subtracting task utilization isn't needed. Just return
cpu_util. Also, use cpu_util for calculating utilization.

Change-Id: I214a39dbeff209125727360bb15fffcaf10bb9ac
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
This commit is contained in:
Satya Durga Srinivasu Prabhala 2018-04-24 18:00:23 -07:00
parent 4a1ca3b200
commit 30900a8bf2

View File

@ -6951,7 +6951,8 @@ static int cpu_util_wake(int cpu, struct task_struct *p)
* utilization from cpu utilization. Instead just use
* cpu_util for this case.
*/
if (!walt_disabled && sysctl_sched_use_walt_cpu_util)
if (!walt_disabled && sysctl_sched_use_walt_cpu_util &&
p->state == TASK_WAKING)
return cpu_util(cpu);
#endif
/* Task has no contribution or is new */
@ -6959,7 +6960,7 @@ static int cpu_util_wake(int cpu, struct task_struct *p)
return cpu_util(cpu);
capacity = capacity_orig_of(cpu);
util = max_t(long, cpu_rq(cpu)->cfs.avg.util_avg - task_util(p), 0);
util = max_t(long, cpu_util(cpu) - task_util(p), 0);
return (util >= capacity) ? capacity : util;
}