[PATCH v3 0/3] Add support for AArch64 AMUv1-based arch_freq_get_on_cpu

Ionela Voinescu ionela.voinescu at arm.com
Wed Mar 13 05:27:53 PDT 2024


Hey,

On Tuesday 12 Mar 2024 at 08:34:28 (+0000), Beata Michalska wrote:
> Introducing arm64 specific version of arch_freq_get_on_cpu, cashing on
> existing implementation for FIE and AMUv1 support: the frequency scale
> factor, updated on each sched tick, serves as a base for retrieving
> the frequency for a given CPU, representing an average frequency
> reported between the ticks - thus its accuracy is limited.
> 
> The changes have been rather lightly (due to some limitations) tested on
> an FVP model.
> 
> Relevant discussions:
> [1] https://lore.kernel.org/all/20240229162520.970986-1-vanshikonda@os.amperecomputing.com/
> [2] https://lore.kernel.org/all/7eozim2xnepacnnkzxlbx34hib4otycnbn4dqymfziqou5lw5u@5xzpv3t7sxo3/
> [3] https://lore.kernel.org/all/20231212072617.14756-1-lihuisong@huawei.com/
> [4] https://lore.kernel.org/lkml/ZIHpd6unkOtYVEqP@e120325.cambridge.arm.com/T/#m4e74cb5a0aaa353c60fedc6cfb95ab7a6e381e3c
> 
> v3:
> - dropping changes to cpufreq_verify_current_freq
> - pulling in changes from Ionela initializing capacity_freq_ref to 0
>   (thanks for that!)  and applying suggestions made by her during last review:
> 	- switching to arch_scale_freq_capacity and arch_scale_freq_ref when
> 	  reversing freq scale factor computation
> 	- swapping shift with multiplication
> - adding time limit for considering last scale update as valid
> - updating frequency scale factor upon entering idle
> 
> v2:
> - Splitting the patches
> - Adding comment for full dyntick mode
> - Plugging arch_freq_get_on_cpu into cpufreq_verify_current_freq instead
>   of in show_cpuinfo_cur_freq to allow the framework to stay more in sync
>   with potential freq changes
> 
> Beata Michalska (2):
>   arm64: Provide an AMU-based version of arch_freq_get_on_cpu
>   arm64: Update AMU-based frequency scale factor on entering idle
> 
> Ionela Voinescu (1):
>   arch_topology: init capacity_freq_ref to 0
> 

Should there have been a patch that adds a call to
arch_freq_get_on_cpu() from show_cpuinfo_cur_freq() as well?

My understanding from this [1] thread and others referenced there is
that was something we wanted.

[1] https://lore.kernel.org/lkml/2cfbc633-1e94-d741-2337-e1b0cf48b81b@nvidia.com/

Thanks,
Ionela.


>  arch/arm64/kernel/topology.c | 116 +++++++++++++++++++++++++++++++----
>  drivers/base/arch_topology.c |   8 ++-
>  2 files changed, 110 insertions(+), 14 deletions(-)
> 
> -- 
> 2.25.1
> 



More information about the linux-arm-kernel mailing list