[PATCH 6/7] arm, arm64: factorize common cpu capacity default code

Dietmar Eggemann dietmar.eggemann at arm.com
Thu Jan 19 08:00:45 PST 2017


On 19/01/17 14:37, Juri Lelli wrote:
> arm and arm64 share lot of code relative to parsing CPU capacity
> information from DT, using that information for appropriate scaling and
> exposing a sysfs interface for chaging such values at runtime.
> 
> Factorize such code in a common place (driver/base/arch_topology.c) in
> preparation for further additions.
> 
> Suggested-by: Will Deacon <will.deacon at arm.com>
> Suggested-by: Mark Rutland <mark.rutland at arm.com>
> Suggested-by: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Russell King <linux at armlinux.org.uk>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Will Deacon <will.deacon at arm.com>
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Signed-off-by: Juri Lelli <juri.lelli at arm.com>
> ---
>  arch/arm/Kconfig             |   1 +
>  arch/arm/kernel/topology.c   | 213 ++------------------------------------
>  arch/arm64/Kconfig           |   1 +
>  arch/arm64/kernel/topology.c | 213 +-------------------------------------
>  drivers/base/Kconfig         |   8 ++
>  drivers/base/Makefile        |   1 +
>  drivers/base/arch_topology.c | 240 +++++++++++++++++++++++++++++++++++++++++++
>  7 files changed, 260 insertions(+), 417 deletions(-)
>  create mode 100644 drivers/base/arch_topology.c

[...]

> +extern unsigned long
> +arch_scale_cpu_capacity(struct sched_domain *sd, int cpu);

How about adding a driver specific prefix 'foo_' to all driver interfaces?

I'm asking because I would rather like to do a

#define arch_scale_cpu_capacity foo_scale_cpu_capacity

then a

#define arch_scale_cpu_capacity arch_scale_cpu_capacity

in arch/arm64/include/asm/topology.h

later to wire cpu-invariant load-tracking support up to the task
scheduler for ARM64.

That's probably true too for all the 'driver' interfaces which get used
in arch/arm{,64}/kernel/topology.c.

[...]





More information about the linux-arm-kernel mailing list