| From: |
| Beata Michalska <beata.michalska-AT-arm.com> |
| To: |
| linux-kernel-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org, ionela.voinescu-AT-arm.com, vanshikonda-AT-os.amperecomputing.com |
| Subject: |
| [PATCH v3 0/3] Add support for AArch64 AMUv1-based arch_freq_get_on_cpu |
| Date: |
| Tue, 12 Mar 2024 08:34:28 +0000 |
| Message-ID: |
| <20240312083431.3239989-1-beata.michalska@arm.com> |
| Cc: |
| sudeep.holla-AT-arm.com, will-AT-kernel.org, catalin.marinas-AT-arm.com, vincent.guittot-AT-linaro.org, sumitg-AT-nvidia.com, yang-AT-os.amperecomputing.com, lihuisong-AT-huawei.com |
| Archive-link: |
| Article |
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-vansh...
[2] https://lore.kernel.org/all/7eozim2xnepacnnkzxlbx34hib4ot...
[3] https://lore.kernel.org/all/20231212072617.14756-1-lihuis...
[4] https://lore.kernel.org/lkml/ZIHpd6unkOtYVEqP@e120325.cam...
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
arch/arm64/kernel/topology.c | 116 +++++++++++++++++++++++++++++++----
drivers/base/arch_topology.c | 8 ++-
2 files changed, 110 insertions(+), 14 deletions(-)
--
2.25.1