Re: [RFC 3/4] ARM: topology: Update cpu_power according to DT information
From: Jean Pihet <hidden>
Date: 2012-06-13 08:59:28
Also in:
linux-arm-kernel, lkml
Vincent, On Tue, Jun 12, 2012 at 2:02 PM, Vincent Guittot [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Use cpu compatibility field and clock-frequency field of DT to estimate the capacity of each core of the system Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org> --- arch/arm/kernel/topology.c | 122 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+)diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c index 2f85a64..0c2aee4 100644 --- a/arch/arm/kernel/topology.c +++ b/arch/arm/kernel/topology.c@@ -17,6 +17,7 @@#include <linux/percpu.h> #include <linux/node.h> #include <linux/nodemask.h> +#include <linux/of.h> #include <linux/sched.h> #include <asm/cputype.h>@@ -47,6 +48,122 @@ void set_power_scale(unsigned int cpu, unsigned long power)per_cpu(cpu_scale, cpu) = power; } +#ifdef CONFIG_OF +struct cpu_efficiency { + const char *compatible; + unsigned long efficiency; +}; + +/* + * Table of relative efficiency of each processors + * The efficiency value must fit in 20bit. The final + * cpu_scale value must be in the range [1:2048[.
Typo here.
+ * Processors that are not defined in the table,
+ * use the default SCHED_POWER_SCALE value for cpu_scale.
+ */
+struct cpu_efficiency table_efficiency[] = {
+ {"arm,cortex-a15", 3891},
+ {"arm,cortex-a7", 2048},How are those results measured or computed? Is this purely related to the number crunching performance? Also more generally what if the cores frequencies are changing? Regards, Jean