From c4a6287185179732dfc1e903c195ff90c19f1065 Mon Sep 17 00:00:00 2001 From: Frode Isaksen Date: Tue, 19 Dec 2017 11:15:35 +0000 Subject: This layer provides Energy Aware Scheduling (EAS) patches For the moment only for Renesas R-Car Gen3 SoC's. Can be expanded for other SoC's by setting the machine feature biglittle and provide the relevant EAS patches. Bug-AGL: SPEC-813 Change-Id: I2b5e69c515c33e57be19b30466fe208d7b8ac1a5 Signed-off-by: Frode Isaksen --- ...-cpu-invariant-load-tracking-support-up-t.patch | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 meta-eas/recipes-kernel/linux/linux-renesas/0034-arm-Re-wire-cpu-invariant-load-tracking-support-up-t.patch (limited to 'meta-eas/recipes-kernel/linux/linux-renesas/0034-arm-Re-wire-cpu-invariant-load-tracking-support-up-t.patch') diff --git a/meta-eas/recipes-kernel/linux/linux-renesas/0034-arm-Re-wire-cpu-invariant-load-tracking-support-up-t.patch b/meta-eas/recipes-kernel/linux/linux-renesas/0034-arm-Re-wire-cpu-invariant-load-tracking-support-up-t.patch new file mode 100644 index 0000000..3cc8cff --- /dev/null +++ b/meta-eas/recipes-kernel/linux/linux-renesas/0034-arm-Re-wire-cpu-invariant-load-tracking-support-up-t.patch @@ -0,0 +1,55 @@ +From a7770736a651a5e7ee12b2df95982ff7d76a6c5a Mon Sep 17 00:00:00 2001 +From: Morten Rasmussen +Date: Tue, 14 Apr 2015 16:25:31 +0100 +Subject: [PATCH 34/92] arm: Re-wire cpu-invariant load-tracking support up to + the scheduler + +Since commit 8cd5601c5060 ("sched/fair: Convert arch_scale_cpu_capacity() +from weak function to #define") the wiring has to be done by associating +arch_scale_cpu_capacity with the actual implementation provided by the +arch. + +Define arch_scale_freq_capacity to use the arch-specific function +scale_cpu_capacity(). + +cc: Russell King +Signed-off-by: Morten Rasmussen +Signed-off-by: Dietmar Eggemann +(cherry picked from commit 496fddb12c6eeb54a2caa3413c0a591dc2762ab6) +Signed-off-by: Gaku Inami +--- + arch/arm/include/asm/topology.h | 4 ++++ + arch/arm/kernel/topology.c | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/include/asm/topology.h b/arch/arm/include/asm/topology.h +index 370f7a7..942a863 100644 +--- a/arch/arm/include/asm/topology.h ++++ b/arch/arm/include/asm/topology.h +@@ -24,6 +24,10 @@ struct cputopo_arm { + void store_cpu_topology(unsigned int cpuid); + const struct cpumask *cpu_coregroup_mask(int cpu); + ++struct sched_domain; ++#define arch_scale_cpu_capacity scale_cpu_capacity ++extern unsigned long scale_cpu_capacity(struct sched_domain *sd, int cpu); ++ + #else + + static inline void init_cpu_topology(void) { } +diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c +index 46167bf..f0957f3 100644 +--- a/arch/arm/kernel/topology.c ++++ b/arch/arm/kernel/topology.c +@@ -44,7 +44,7 @@ + static DEFINE_PER_CPU(unsigned long, cpu_scale) = SCHED_CAPACITY_SCALE; + static DEFINE_MUTEX(cpu_scale_mutex); + +-unsigned long arch_scale_cpu_capacity(struct sched_domain *sd, int cpu) ++unsigned long scale_cpu_capacity(struct sched_domain *sd, int cpu) + { + return per_cpu(cpu_scale, cpu); + } +-- +1.9.1 + -- cgit 1.2.3-korg