summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDietmar Eggemann <dietmar.eggemann@arm.com>2017-09-26 17:41:12 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2017-10-03 02:37:54 +0200
commit3a1ed9cfaf2849195886b80274008526ff2b5f02 (patch)
tree6edc6b5fb051a061afb0064bfac385c97725d92f
parent8216f588b52b61ce36fc0080218e4730435e58b7 (diff)
downloadlinux-3a1ed9cfaf2849195886b80274008526ff2b5f02.tar.bz2
arm: wire frequency-invariant accounting support up to the task scheduler
Commit dfbca41f3479 ("sched: Optimize freq invariant accounting") changed the wiring which now has to be done by associating arch_scale_freq_capacity with the actual implementation provided by the architecture. Define arch_scale_freq_capacity to use the arch_topology "driver" function topology_get_freq_scale() for the task scheduler's frequency-invariant accounting instead of the default arch_scale_freq_capacity() in kernel/sched/sched.h. Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com> Acked-by: Vincent Guittot <vincent.guittot@linaro.org> Acked-by: Russell King <rmk+kernel@armlinux.org.uk> Tested-by: Juri Lelli <juri.lelli@arm.com> Reviewed-by: Juri Lelli <juri.lelli@arm.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--arch/arm/include/asm/topology.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/include/asm/topology.h b/arch/arm/include/asm/topology.h
index 370f7a732900..a56a9e24f4c0 100644
--- a/arch/arm/include/asm/topology.h
+++ b/arch/arm/include/asm/topology.h
@@ -24,6 +24,11 @@ void init_cpu_topology(void);
void store_cpu_topology(unsigned int cpuid);
const struct cpumask *cpu_coregroup_mask(int cpu);
+#include <linux/arch_topology.h>
+
+/* Replace task scheduler's default frequency-invariant accounting */
+#define arch_scale_freq_capacity topology_get_freq_scale
+
#else
static inline void init_cpu_topology(void) { }