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(-)
>
WARNING: multiple messages have this Message-ID (diff)
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(-)
>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
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(-)
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-11-10 8:31 UTC|newest]
Thread overview: 54+ 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 ` Vincent Guittot
2023-11-09 10:14 ` Vincent Guittot
2023-11-09 10:14 ` [PATCH v6 1/7] topology: Add a new arch_scale_freq_reference Vincent Guittot
2023-11-09 10:14 ` Vincent Guittot
2023-11-09 10:14 ` Vincent Guittot
2023-11-28 15:52 ` Ionela Voinescu
2023-11-28 15:52 ` Ionela Voinescu
2023-11-28 15:52 ` Ionela Voinescu
2023-11-28 16:00 ` Ionela Voinescu
2023-11-28 16:00 ` Ionela Voinescu
2023-11-28 16:00 ` Ionela Voinescu
2023-11-29 14:57 ` Vincent Guittot
2023-11-29 14:57 ` Vincent Guittot
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 ` Vincent Guittot
2023-11-09 10:14 ` Vincent Guittot
2023-11-09 10:14 ` [PATCH v6 3/7] cpufreq/schedutil: Use a fixed reference frequency Vincent Guittot
2023-11-09 10:14 ` Vincent Guittot
2023-11-09 10:14 ` Vincent Guittot
2023-11-10 9:17 ` Viresh Kumar
2023-11-10 9:17 ` Viresh Kumar
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 ` Vincent Guittot
2023-11-09 10:14 ` 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-09 10:14 ` Vincent Guittot
2023-11-09 10:14 ` Vincent Guittot
2023-11-10 9:17 ` Viresh Kumar
2023-11-10 9:17 ` Viresh Kumar
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-09 10:14 ` Vincent Guittot
2023-11-09 10:14 ` Vincent Guittot
2023-11-10 9:18 ` Viresh Kumar
2023-11-10 9:18 ` Viresh Kumar
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-09 10:14 ` Vincent Guittot
2023-11-09 10:14 ` Vincent Guittot
2023-11-14 13:06 ` Beata Michalska
2023-11-14 13:06 ` Beata Michalska
2023-11-14 13:06 ` Beata Michalska
2023-11-15 9:42 ` Beata Michalska
2023-11-15 9:42 ` Beata Michalska
2023-11-15 9:42 ` Beata Michalska
2023-11-21 15:43 ` Will Deacon
2023-11-21 15:43 ` Will Deacon
2023-11-21 15:43 ` Will Deacon
2023-11-10 8:30 ` Pierre Gondois [this message]
2023-11-10 8:30 ` [PATCH v6 0/7] consolidate and cleanup CPU capacity Pierre Gondois
2023-11-10 8:30 ` Pierre Gondois
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.