From: Pierre Gondois <pierre.gondois@arm.com>
To: Vincent Guittot <vincent.guittot@linaro.org>,
linux@armlinux.org.uk, catalin.marinas@arm.com, will@kernel.org,
paul.walmsley@sifive.com, palmer@dabbelt.com,
aou@eecs.berkeley.edu, sudeep.holla@arm.com,
gregkh@linuxfoundation.org, rafael@kernel.org, mingo@redhat.com,
peterz@infradead.org, juri.lelli@redhat.com,
dietmar.eggemann@arm.com, rostedt@goodmis.org,
bsegall@google.com, mgorman@suse.de, bristot@redhat.com,
vschneid@redhat.com, viresh.kumar@linaro.org, lenb@kernel.org,
robert.moore@intel.com, lukasz.luba@arm.com,
ionela.voinescu@arm.com, beata.michalska@arm.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org
Cc: conor.dooley@microchip.com, suagrfillet@gmail.com,
ajones@ventanamicro.com, lftan@kernel.org
Subject: Re: [PATCH v6 0/7] consolidate and cleanup CPU capacity
Date: Fri, 10 Nov 2023 09:30:47 +0100 [thread overview]
Message-ID: <00ce01bf-1612-46cd-926d-ac283cfddff9@arm.com> (raw)
In-Reply-To: <20231109101438.1139696-1-vincent.guittot@linaro.org>
For a CPPC platform + EM/EAS (but without AMU):
Tested-by: Pierre Gondois <pierre.gondois@arm.com>
On 11/9/23 11:14, Vincent Guittot wrote:
> This is the 1st part of consolidating how the max compute capacity is
> used in the scheduler and how we calculate the frequency for a level of
> utilization.
>
> Fix some unconsistancy when computing frequency for an utilization. There
> can be a mismatch between energy model and schedutil.
>
> Next step will be to make a difference between the original
> max compute capacity of a CPU and what is currently available when
> there is a capping applying forever (i.e. seconds or more).
>
> Changes since v5:
> - remove useless return in freq_inv_set_max_ratio()
> - Add tags
>
> Changes since v4:
> - Capitalize the verb in subject
> - Remove usless parentheses in cppc_get_dmi_max_khz()
> - Use freq_ref pattern everywhere
> - Fix MHz / kHz units conversion for cppc_cpufreq
> - Move default definition of arch_scale_freq_ref() in
> include/linux/sched/topology.h beside arch_scale_cpu_capacity
> which faces similar default declaration behavior. This location covers
> all cases with arch and CONFIG_* which was not the case with previous
> attempts.
>
> Changes since v3:
> - Split patch 5 cpufreq/cppc
> - Fix topology_init_cpu_capacity_cppc()
> - Fix init if AMU ratio
> - Added some tags
>
> Changes since v2:
> - Remove the 1st patch which has been queued in tip
> - Rework how to initialize the reference frequency for cppc_cpufreq and
> change topology_init_cpu_capacity_cppc() to also set capacity_ref_freq
> - Add a RFC to convert AMU to use arch_scale_freq_ref and move the config
> of the AMU ratio to be done when intializing cpu capacity and
> capacity_ref_freq
> - Added some tags
>
> Changes since v1:
> - Fix typos
> - Added changes in cpufreq to use arch_scale_freq_ref() when calling
> arch_set_freq_scale (patch 3).
> - arch_scale_freq_ref() is always defined and returns 0 (as proposed
> by Ionela) when not defined by the arch. This simplifies the code with
> the addition of patch 3.
> - Simplify Energy Model which always uses arch_scale_freq_ref(). The
> latter returns 0 when not defined by arch instead of last item of the
> perf domain. This is not a problem because the function is only defined
> for compilation purpose in this case and we don't care about the
> returned value. (patch 5)
> - Added changes in cppc cpufreq to set capacity_ref_freq (patch 6)
> - Added reviewed tag for patch 1 which got a minor change but not for
> others as I did some changes which could make previous reviewed tag
> no more relevant.
>
> Vincent Guittot (7):
> topology: Add a new arch_scale_freq_reference
> cpufreq: Use the fixed and coherent frequency for scaling capacity
> cpufreq/schedutil: Use a fixed reference frequency
> energy_model: Use a fixed reference frequency
> cpufreq/cppc: Move and rename cppc_cpufreq_{perf_to_khz|khz_to_perf}
> cpufreq/cppc: Set the frequency used for computing the capacity
> arm64/amu: Use capacity_ref_freq to set AMU ratio
>
> arch/arm/include/asm/topology.h | 1 +
> arch/arm64/include/asm/topology.h | 1 +
> arch/arm64/kernel/topology.c | 26 +++---
> arch/riscv/include/asm/topology.h | 1 +
> drivers/acpi/cppc_acpi.c | 104 ++++++++++++++++++++++
> drivers/base/arch_topology.c | 56 ++++++++----
> drivers/cpufreq/cppc_cpufreq.c | 139 ++++--------------------------
> drivers/cpufreq/cpufreq.c | 4 +-
> include/acpi/cppc_acpi.h | 2 +
> include/linux/arch_topology.h | 8 ++
> include/linux/cpufreq.h | 1 +
> include/linux/energy_model.h | 6 +-
> include/linux/sched/topology.h | 8 ++
> kernel/sched/cpufreq_schedutil.c | 26 +++++-
> 14 files changed, 224 insertions(+), 159 deletions(-)
>
prev parent reply other threads:[~2023-11-10 8:31 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-09 10:14 [PATCH v6 0/7] consolidate and cleanup CPU capacity Vincent Guittot
2023-11-09 10:14 ` [PATCH v6 1/7] topology: Add a new arch_scale_freq_reference Vincent Guittot
2023-11-28 15:52 ` Ionela Voinescu
2023-11-28 16:00 ` Ionela Voinescu
2023-11-29 14:57 ` Vincent Guittot
2023-11-09 10:14 ` [PATCH v6 2/7] cpufreq: Use the fixed and coherent frequency for scaling capacity Vincent Guittot
2023-11-09 10:14 ` [PATCH v6 3/7] cpufreq/schedutil: Use a fixed reference frequency Vincent Guittot
2023-11-10 9:17 ` Viresh Kumar
2023-11-09 10:14 ` [PATCH v6 4/7] energy_model: " Vincent Guittot
2023-11-09 10:14 ` [PATCH v6 5/7] cpufreq/cppc: Move and rename cppc_cpufreq_{perf_to_khz|khz_to_perf} Vincent Guittot
2023-11-10 9:17 ` Viresh Kumar
2023-11-09 10:14 ` [PATCH v6 6/7] cpufreq/cppc: Set the frequency used for computing the capacity Vincent Guittot
2023-11-10 9:18 ` Viresh Kumar
2023-11-09 10:14 ` [PATCH v6 7/7] arm64/amu: Use capacity_ref_freq to set AMU ratio Vincent Guittot
2023-11-14 13:06 ` Beata Michalska
2023-11-15 9:42 ` Beata Michalska
2023-11-21 15:43 ` Will Deacon
2023-11-10 8:30 ` Pierre Gondois [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=00ce01bf-1612-46cd-926d-ac283cfddff9@arm.com \
--to=pierre.gondois@arm.com \
--cc=ajones@ventanamicro.com \
--cc=aou@eecs.berkeley.edu \
--cc=beata.michalska@arm.com \
--cc=bristot@redhat.com \
--cc=bsegall@google.com \
--cc=catalin.marinas@arm.com \
--cc=conor.dooley@microchip.com \
--cc=dietmar.eggemann@arm.com \
--cc=gregkh@linuxfoundation.org \
--cc=ionela.voinescu@arm.com \
--cc=juri.lelli@redhat.com \
--cc=lenb@kernel.org \
--cc=lftan@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=lukasz.luba@arm.com \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
--cc=robert.moore@intel.com \
--cc=rostedt@goodmis.org \
--cc=suagrfillet@gmail.com \
--cc=sudeep.holla@arm.com \
--cc=vincent.guittot@linaro.org \
--cc=viresh.kumar@linaro.org \
--cc=vschneid@redhat.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox