From: Ionela Voinescu <ionela.voinescu@arm.com>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: 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,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-pm@vger.kernel.org, conor.dooley@microchip.com,
suagrfillet@gmail.com, ajones@ventanamicro.com, lftan@kernel.org
Subject: Re: [PATCH 0/4] consolidate and cleanup CPU capacity
Date: Thu, 21 Sep 2023 11:12:09 +0100 [thread overview]
Message-ID: <ZQwW+XoOFqvyuQ63@arm.com> (raw)
In-Reply-To: <20230901130312.247719-1-vincent.guittot@linaro.org>
On Friday 01 Sep 2023 at 15:03:08 (+0200), 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.
There are a few more pieces of functionality that would be worth
consolidating in this set as well, if you'd like to consider them:
- arch_set_freq_scale() still uses policy->cpuinfo.max_freq. It might be
good to use the boot time stored max_freq here as well. Given that
arch_scale_cpu_capacity() would be based on that stored value, if
arch_scale_freq_capacity() ends up using a different value, it could
have interesting effects on the utilization signals in case of
boosting.
- As Pierre mentioned in a previous comment, there is already a
cpufreq_get_hw_max_freq() weak function that returns
policy->cpuinfo.max_freq and it's only used at boot time by
the setup code for AMU use for frequency invariance. I'm tempted to
suggest to use this to initialize what is now "freq_factor" as my
intention when I created that function was to provide platform
providers with the possibility to implement their own and decide on
the frequency they choose as their maximum. This could have been an
arch_ function as well, but as you mentioned before, mobile and server
platforms might want to choose different maximum values even if they
are using the same architecture.
Thanks,
Ionela.
>
> 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).
>
> Vincent Guittot (4):
> sched: consolidate and cleanup access to CPU's max compute capacity
> topology: add a new arch_scale_freq_reference
> cpufreq/schedutil: use a fixed reference frequency
> energy_model: use a fixed reference frequency
>
> arch/arm/include/asm/topology.h | 1 +
> arch/arm64/include/asm/topology.h | 1 +
> arch/riscv/include/asm/topology.h | 1 +
> drivers/base/arch_topology.c | 9 +++------
> include/linux/arch_topology.h | 7 +++++++
> include/linux/energy_model.h | 20 +++++++++++++++++---
> kernel/sched/core.c | 2 +-
> kernel/sched/cpudeadline.c | 2 +-
> kernel/sched/cpufreq_schedutil.c | 29 +++++++++++++++++++++++++++--
> kernel/sched/deadline.c | 4 ++--
> kernel/sched/fair.c | 18 ++++++++----------
> kernel/sched/rt.c | 2 +-
> kernel/sched/sched.h | 6 ------
> kernel/sched/topology.c | 7 +++++--
> 14 files changed, 75 insertions(+), 34 deletions(-)
>
> --
> 2.34.1
>
>
next prev parent reply other threads:[~2023-09-21 21:12 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-01 13:03 [PATCH 0/4] consolidate and cleanup CPU capacity Vincent Guittot
2023-09-01 13:03 ` [PATCH 1/4] sched: consolidate and cleanup access to CPU's max compute capacity Vincent Guittot
2023-09-05 11:25 ` Peter Zijlstra
2023-09-14 20:45 ` Dietmar Eggemann
2023-09-15 13:20 ` Vincent Guittot
2023-09-01 13:03 ` [PATCH 2/4] topology: add a new arch_scale_freq_reference Vincent Guittot
2023-09-04 12:35 ` Lukasz Luba
2023-09-18 11:23 ` Vincent Guittot
2023-09-14 21:01 ` Dietmar Eggemann
2023-09-21 9:00 ` Ionela Voinescu
2023-09-25 12:06 ` Vincent Guittot
2023-09-01 13:03 ` [PATCH 3/4] cpufreq/schedutil: use a fixed reference frequency Vincent Guittot
2023-09-02 10:57 ` Conor Dooley
2023-09-02 12:49 ` Vincent Guittot
2023-09-05 11:24 ` Peter Zijlstra
2023-09-05 13:50 ` Vincent Guittot
2023-09-21 9:19 ` Ionela Voinescu
2023-09-25 12:06 ` Vincent Guittot
2023-09-01 13:03 ` [PATCH 4/4] energy_model: " Vincent Guittot
2023-09-04 12:40 ` Lukasz Luba
2023-09-05 10:05 ` Pierre Gondois
2023-09-05 11:33 ` Peter Zijlstra
2023-09-05 13:16 ` Vincent Guittot
2023-09-14 21:07 ` Dietmar Eggemann
2023-09-15 13:35 ` Vincent Guittot
2023-09-18 20:46 ` Dietmar Eggemann
2023-09-21 10:12 ` Ionela Voinescu
2023-09-21 10:12 ` Ionela Voinescu [this message]
2023-09-25 12:05 ` [PATCH 0/4] consolidate and cleanup CPU capacity Vincent Guittot
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=ZQwW+XoOFqvyuQ63@arm.com \
--to=ionela.voinescu@arm.com \
--cc=ajones@ventanamicro.com \
--cc=aou@eecs.berkeley.edu \
--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=juri.lelli@redhat.com \
--cc=lftan@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=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=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