[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240905092645.2885200-4-christian.loehle@arm.com>
Date: Thu, 5 Sep 2024 10:26:40 +0100
From: Christian Loehle <christian.loehle@....com>
To: linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org,
rafael@...nel.org,
peterz@...radead.org
Cc: juri.lelli@...hat.com,
mingo@...hat.com,
dietmar.eggemann@....com,
vschneid@...hat.com,
vincent.guittot@...aro.org,
Johannes.Thumshirn@....com,
adrian.hunter@...el.com,
ulf.hansson@...aro.org,
bvanassche@....org,
andres@...razel.de,
asml.silence@...il.com,
linux-block@...r.kernel.org,
io-uring@...r.kernel.org,
qyousef@...alina.io,
dsmythies@...us.net,
axboe@...nel.dk,
Christian Loehle <christian.loehle@....com>
Subject: [RFC PATCH 3/8] TEST: cpufreq/schedutil: Linear iowait boost step
In preparation for capping iowait boost make the steps linear as
opposed to doubling.
Signed-off-by: Christian Loehle <christian.loehle@....com>
---
kernel/sched/cpufreq_schedutil.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index eece6244f9d2..7810374aaa5b 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -267,7 +267,8 @@ static void sugov_iowait_boost(struct sugov_cpu *sg_cpu, u64 time,
/* Double the boost at each request */
if (sg_cpu->iowait_boost) {
sg_cpu->iowait_boost =
- min_t(unsigned int, sg_cpu->iowait_boost << 1, SCHED_CAPACITY_SCALE);
+ min_t(unsigned int,
+ sg_cpu->iowait_boost + IOWAIT_BOOST_MIN, SCHED_CAPACITY_SCALE);
return;
}
@@ -308,11 +309,9 @@ static unsigned long sugov_iowait_apply(struct sugov_cpu *sg_cpu, u64 time,
/*
* No boost pending; reduce the boost value.
*/
- sg_cpu->iowait_boost >>= 1;
- if (sg_cpu->iowait_boost < IOWAIT_BOOST_MIN) {
- sg_cpu->iowait_boost = 0;
+ sg_cpu->iowait_boost -= IOWAIT_BOOST_MIN;
+ if (!sg_cpu->iowait_boost)
return 0;
- }
}
sg_cpu->iowait_boost_pending = false;
--
2.34.1
Powered by blists - more mailing lists