[PATCH v4 0/2] Rework interface between scheduler and schedutil governor

From: Vincent Guittot
Date: Wed Nov 22 2023 - 08:39:15 EST


Following the discussion with Qais [1] about how to handle uclamp
requirements and after syncing with him, we agreed that I should move
forward on the patchset to rework the interface between scheduler and
schedutil governor to provide more information to the latter. Scheduler
(and EAS in particular) doesn't need anymore to guess estimate which
headroom the governor wants to apply and will directly ask for the target
freq. Then the governor directly gets the actual utilization and new
minimum and maximum boundaries to select this target frequency and
doesn't have to deal anymore with scheduler internals like uclamp when
including iowait boost.

[1] https://lore.kernel.org/lkml/CAKfTPtA5JqNCauG-rP3wGfq+p8EEVx9Tvwj6ksM3SYCwRmfCTg@xxxxxxxxxxxxxx/

Changes since v3:
- Fix freq selection with runnable RT

Changes since v2:
- remove useless target variable

Changes since v1:
- fix a bug (always set max even when returning early)
- fix typos

Vincent Guittot (2):
sched/schedutil: Rework performance estimation
sched/schedutil: Rework iowait boost

include/linux/energy_model.h | 1 -
kernel/sched/core.c | 90 ++++++++++++++------------------
kernel/sched/cpufreq_schedutil.c | 64 ++++++++++++++---------
kernel/sched/fair.c | 22 ++++++--
kernel/sched/sched.h | 84 +++--------------------------
5 files changed, 103 insertions(+), 158 deletions(-)

--
2.34.1