From: Juri Lelli Date: Wed, 14 Dec 2016 16:10:10 +0000 (+0000) Subject: sched/cpufreq: make schedutil use WALT signal X-Git-Tag: release-20171130_firefly~4^2~100^2~80 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9a0bed4fefee711dbac7f37295898b8894a3be95;p=firefly-linux-kernel-4.4.55.git sched/cpufreq: make schedutil use WALT signal If WALT is available and enabled, make schedutil governor use its utilization signal. Change-Id: I92bc37989447a76616e9bcc4e9e8616774fb9925 Signed-off-by: Juri Lelli [we need to use boosted_cpu_util for schedutil, so make it not static] Signed-off-by: Chris Redpath --- diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c index 033da8f815da..e9a9ee98daf7 100644 --- a/kernel/sched/cpufreq_schedutil.c +++ b/kernel/sched/cpufreq_schedutil.c @@ -17,6 +17,11 @@ #include #include "sched.h" +#include "tune.h" + +#ifdef CONFIG_SCHED_WALT +unsigned long boosted_cpu_util(int cpu); +#endif /* Stub out fast switch routines present on mainline to reduce the backport * overhead. */ @@ -173,6 +178,10 @@ static void sugov_get_util(unsigned long *util, unsigned long *max, u64 time) rt = (rt * max_cap) >> SCHED_CAPACITY_SHIFT; *util = min(rq->cfs.avg.util_avg + rt, max_cap); +#ifdef CONFIG_SCHED_WALT + if (!walt_disabled && sysctl_sched_use_walt_cpu_util) + *util = boosted_cpu_util(cpu); +#endif *max = max_cap; } diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index baba2d34c34e..abe49df1e6f0 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4258,7 +4258,7 @@ static inline void hrtick_update(struct rq *rq) #ifdef CONFIG_SMP static bool cpu_overutilized(int cpu); -static inline unsigned long boosted_cpu_util(int cpu); +unsigned long boosted_cpu_util(int cpu); #else #define boosted_cpu_util(cpu) cpu_util(cpu) #endif @@ -5478,7 +5478,7 @@ schedtune_task_margin(struct task_struct *task) #endif /* CONFIG_SCHED_TUNE */ -static inline unsigned long +unsigned long boosted_cpu_util(int cpu) { unsigned long util = cpu_util(cpu);