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

Commit f71d9f01 authored by Juri Lelli's avatar Juri Lelli Committed by Andres Oportus
Browse files

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: default avatarJuri Lelli <juri.lelli@arm.com>
[we need to use boosted_cpu_util for schedutil, so make it
 not static]
Signed-off-by: default avatarChris Redpath <chris.redpath@arm.com>
parent e5da6c11
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -17,6 +17,11 @@
#include <trace/events/power.h>

#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;
}

+2 −2
Original line number Diff line number Diff line
@@ -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);