From: Qais Yousef <qais.yousef@arm.com>
To: Ingo Molnar <mingo@kernel.org>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: linux-kernel@vger.kernel.org, Xuewen Yan <xuewen.yan94@gmail.com>,
Wei Wang <wvw@google.com>,
Jonathan JMChen <Jonathan.JMChen@mediatek.com>,
Hank <han.lin@mediatek.com>, Qais Yousef <qais.yousef@arm.com>
Subject: [PATCH 0/7] Fix relationship between uclamp and fits_capacity()
Date: Wed, 29 Jun 2022 20:46:25 +0100 [thread overview]
Message-ID: <20220629194632.1117723-1-qais.yousef@arm.com> (raw)
Relationship between uclamp and fits_capacity() is currently broken. Mostly due
to how uclamp should interact with migration margin and capacity pressure. But
also due not all users were converted to consider uclamp before calling
fits_capacity(). Namely cpu_overutilized().
The meat of the series is patch 1 where we introduce a new function,
util_fits_cpu(), that takes uclamp into account. The new function should
replace all call sits to fits_capacity(), which what subsequent patches do.
Except for patch 7 where we fix handling of early exit condition in
find_energy_efficient_cpu(AKA feec()) that must be uclamp aware too.
util_fits_cpu() will revert back to a simple call to fits_capacity() if uclamp
is not being used on the system.
Qais Yousef (7):
sched/uclamp: Fix relationship between uclamp and migration margin
sched/uclamp: Make task_fits_capacity() use util_fits_cpu()
sched/uclamp: Fix fits_capacity() check in feec()
sched/uclamp: Make select_idle_capacity() use util_fits_cpu()
sched/uclamp: Make asym_fits_capacity() use util_fits_cpu()
sched/uclamp: Make cpu_overutilized() use util_fits_cpu()
sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early
exit condition
kernel/sched/core.c | 10 +-
kernel/sched/fair.c | 256 +++++++++++++++++++++++++++++++++-------
kernel/sched/sched.h | 53 ++++++++-
kernel/sched/topology.c | 18 +--
4 files changed, 275 insertions(+), 62 deletions(-)
base-commit: 70fb5ccf2ebb09a0c8ebba775041567812d45f86
--
2.25.1
next reply other threads:[~2022-06-29 19:47 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-29 19:46 Qais Yousef [this message]
2022-06-29 19:46 ` [PATCH 1/7] sched/uclamp: Fix relationship between uclamp and migration margin Qais Yousef
2022-07-11 12:36 ` Vincent Guittot
2022-07-12 10:23 ` Qais Yousef
2022-07-12 13:21 ` Vincent Guittot
2022-07-12 14:20 ` Qais Yousef
2022-07-13 12:39 ` Vincent Guittot
2022-07-15 10:37 ` Qais Yousef
2022-07-20 7:29 ` Vincent Guittot
2022-07-21 14:04 ` Qais Yousef
2022-07-22 15:13 ` Vincent Guittot
2022-07-27 16:08 ` Qais Yousef
2022-08-04 14:59 ` Qais Yousef
2022-07-20 7:17 ` Xuewen Yan
2022-07-21 10:24 ` Qais Yousef
2022-07-25 11:59 ` Xuewen Yan
2022-07-27 16:25 ` Qais Yousef
2022-08-01 2:46 ` Xuewen Yan
2022-08-02 16:22 ` Qais Yousef
2022-06-29 19:46 ` [PATCH 2/7] sched/uclamp: Make task_fits_capacity() use util_fits_cpu() Qais Yousef
2022-07-11 13:09 ` Vincent Guittot
2022-07-12 10:48 ` Qais Yousef
2022-07-21 14:29 ` Qais Yousef
2022-07-22 8:19 ` Vincent Guittot
2022-07-27 16:05 ` Qais Yousef
2022-08-17 9:48 ` Vincent Guittot
2022-07-20 7:23 ` Xuewen Yan
2022-07-21 14:11 ` Qais Yousef
2022-06-29 19:46 ` [PATCH 3/7] sched/uclamp: Fix fits_capacity() check in feec() Qais Yousef
2022-07-20 7:30 ` Xuewen Yan
2022-07-21 14:19 ` Qais Yousef
2022-06-29 19:46 ` [PATCH 4/7] sched/uclamp: Make select_idle_capacity() use util_fits_cpu() Qais Yousef
2022-06-29 19:46 ` [PATCH 5/7] sched/uclamp: Make asym_fits_capacity() " Qais Yousef
2022-06-29 19:46 ` [PATCH 6/7] sched/uclamp: Make cpu_overutilized() " Qais Yousef
2022-06-29 19:46 ` [PATCH 7/7] sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early exit condition Qais Yousef
2022-07-20 7:39 ` Xuewen Yan
2022-07-21 14:24 ` Qais Yousef
2022-07-22 1:09 ` Xuewen Yan
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=20220629194632.1117723-1-qais.yousef@arm.com \
--to=qais.yousef@arm.com \
--cc=Jonathan.JMChen@mediatek.com \
--cc=dietmar.eggemann@arm.com \
--cc=han.lin@mediatek.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=vincent.guittot@linaro.org \
--cc=wvw@google.com \
--cc=xuewen.yan94@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).