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@mail.gmail.com/
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
On 11/22/23 14:39, Vincent Guittot wrote:
> 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@mail.gmail.com/
>
> Changes since v3:
> - Fix freq selection with runnable RT
Thanks! Both patches LGTM now.
Cheers
--
Qais Yousef