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

Commit ade9a794 authored by Vikram Mulukutla's avatar Vikram Mulukutla Committed by Joonwoo Park
Browse files

sched: Introduce new workload differentiation



This is a key feature that helps with getting an appropriate
frequency response whenever a new workload starts. Start
reporting load corresponding to new tasks to cpufreq.

Change-Id: Ifc7d03579f20ed4dd6d04d2af12c21fa1833f62f
Signed-off-by: default avatarVikram Mulukutla <markivx@codeaurora.org>
Signed-off-by: default avatarSyed Rameez Mustafa <rameezmustafa@codeaurora.org>
parent fca89815
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -1802,12 +1802,21 @@ cpu_util_freq(int cpu, struct sched_walt_cpu_load *walt_load)

#ifdef CONFIG_SCHED_WALT
	if (!walt_disabled && sysctl_sched_use_walt_cpu_util) {

		util = freq_policy_load(rq);
		util = div64_u64(util,
				 sched_ravg_window >> SCHED_CAPACITY_SHIFT);

		if (walt_load)
		if (walt_load) {
			u64 nl = cpu_rq(cpu)->nt_prev_runnable_sum +
				rq->grp_time.nt_prev_runnable_sum;

			nl = div64_u64(nl, sched_ravg_window >>
						SCHED_CAPACITY_SHIFT);

			walt_load->prev_window_util = util;
			walt_load->nl = nl;
		}
	}
#endif
	return (util >= capacity) ? capacity : util;