ANDROID: arm: wire frequency-invariant accounting support up to the task scheduler
authorDietmar Eggemann <dietmar.eggemann@arm.com>
Fri, 3 Feb 2017 20:37:16 +0000 (20:37 +0000)
committerChris Redpath <chris.redpath@arm.com>
Thu, 14 Dec 2017 21:41:05 +0000 (21:41 +0000)
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.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: Juri Lelli <juri.lelli@arm.com>
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Acked-by: Vincent Guittot <vincent.guittot@linaro.org>
Tested-by: Juri Lelli <juri.lelli@arm.com>
Reviewed-by: Juri Lelli <juri.lelli@arm.com>
Change-Id: I04dc62ca703c8a1ebce52b35a39fdeaa55e44ca1
Signed-off-by: Chris Redpath <chris.redpath@arm.com>
arch/arm/include/asm/topology.h

index f59ab9bcbaf956b8cac5568e62c54de17a7cd648..06f80e4f03b83cbe8e83dd0ff4f9202bf19ae894 100644 (file)
@@ -25,6 +25,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) { }