Re: [RFC PATCH 6/6] drivers: base: arch_topology.c: Enable EAS for arm/arm64 platforms
From: Greg Kroah-Hartman
Date: Tue Mar 20 2018 - 05:49:41 EST
On Tue, Mar 20, 2018 at 09:43:12AM +0000, Dietmar Eggemann wrote:
> From: Quentin Perret <quentin.perret@xxxxxxx>
>
> Energy Aware Scheduling (EAS) has to be started from the arch code.
Ok, but:
> This commit enables it from the arch topology driver for arm/arm64
> systems, hence enabling a better support for Arm big.LITTLE and future
> DynamIQ architectures.
Why does this have to be in the driver core code just for those specific
types of cpus?
>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Quentin Perret <quentin.perret@xxxxxxx>
> ---
> drivers/base/arch_topology.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
> index 52ec5174bcb1..e2206ea16538 100644
> --- a/drivers/base/arch_topology.c
> +++ b/drivers/base/arch_topology.c
> @@ -15,6 +15,7 @@
> #include <linux/slab.h>
> #include <linux/string.h>
> #include <linux/sched/topology.h>
> +#include <linux/sched/energy.h>
>
> DEFINE_PER_CPU(unsigned long, freq_scale) = SCHED_CAPACITY_SCALE;
>
> @@ -204,6 +205,7 @@ init_cpu_capacity_callback(struct notifier_block *nb,
> free_raw_capacity();
> pr_debug("cpu_capacity: parsing done\n");
> schedule_work(&parsing_done_work);
> + init_sched_energy();
This is not arch-specific code only for arm.
Don't you have a ARM cpu bringup code somewhere? Shouldn't this call be
in there? It feels odd that this scheduler change is buried way down
here...
thanks,
greg k-h