[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231009103621.374412-1-vincent.guittot@linaro.org>
Date: Mon, 9 Oct 2023 12:36:15 +0200
From: Vincent Guittot <vincent.guittot@...aro.org>
To: linux@...linux.org.uk, catalin.marinas@....com, will@...nel.org,
paul.walmsley@...ive.com, palmer@...belt.com,
aou@...s.berkeley.edu, sudeep.holla@....com,
gregkh@...uxfoundation.org, rafael@...nel.org, mingo@...hat.com,
peterz@...radead.org, juri.lelli@...hat.com,
dietmar.eggemann@....com, rostedt@...dmis.org, bsegall@...gle.com,
mgorman@...e.de, bristot@...hat.com, vschneid@...hat.com,
viresh.kumar@...aro.org, lukasz.luba@....com,
ionela.voinescu@....com, pierre.gondois@....com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-riscv@...ts.infradead.org, linux-pm@...r.kernel.org
Cc: conor.dooley@...rochip.com, suagrfillet@...il.com,
ajones@...tanamicro.com, lftan@...nel.org,
Vincent Guittot <vincent.guittot@...aro.org>
Subject: [PATCH v2 0/6] consolidate and cleanup CPU capacity
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 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 (6):
sched: consolidate and cleanup access to CPU's max compute capacity
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: set the frequency used for capacity computation
Documentation/scheduler/sched-capacity.rst | 13 +++++-----
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 | 29 +++++++++++-----------
drivers/cpufreq/cppc_cpufreq.c | 18 ++++++++++++++
drivers/cpufreq/cpufreq.c | 4 +--
include/linux/arch_topology.h | 7 ++++++
include/linux/cpufreq.h | 9 +++++++
include/linux/energy_model.h | 14 ++++++++---
kernel/sched/core.c | 2 +-
kernel/sched/cpudeadline.c | 2 +-
kernel/sched/cpufreq_schedutil.c | 26 +++++++++++++++++--
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 ++++--
18 files changed, 113 insertions(+), 51 deletions(-)
--
2.34.1
Powered by blists - more mailing lists