summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQais Yousef <qyousef@google.com>2023-08-10 16:05:47 +0000
committerQais Yousef <qyousef@google.com>2023-09-19 12:09:20 +0000
commit4cb92a5bce2d7164d7f8135bdc05e88e4e1715ff (patch)
tree2787ff16c9bc4a95e380e8ca8d58ef18b322a679
parent19a4599e1356d944288cb6183fe98b6ec409816b (diff)
downloadgs-4cb92a5bce2d7164d7f8135bdc05e88e4e1715ff.tar.gz
vh: sched: Fix reset UCLAMP_FLAG_IDLE after uclamp_rq_inc_id()
Bug: 296404527 Signed-off-by: Qais Yousef <qyousef@google.com> Change-Id: I8d2537271135bce2b92e9c19325de8e88791de81
-rw-r--r--drivers/soc/google/vh/kernel/sched/sched_priv.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/soc/google/vh/kernel/sched/sched_priv.h b/drivers/soc/google/vh/kernel/sched/sched_priv.h
index 12487fb3c..2f5e40431 100644
--- a/drivers/soc/google/vh/kernel/sched/sched_priv.h
+++ b/drivers/soc/google/vh/kernel/sched/sched_priv.h
@@ -680,6 +680,10 @@ static inline bool apply_uclamp_filters(struct rq *rq, struct task_struct *p)
* auto value
*/
uclamp_rq_inc_id(rq, p, UCLAMP_MAX);
+
+ /* Reset clamp idle holding when there is one RUNNABLE task */
+ if (rq->uclamp_flags & UCLAMP_FLAG_IDLE)
+ rq->uclamp_flags &= ~UCLAMP_FLAG_IDLE;
}
if (uclamp_can_ignore_uclamp_min(rq, p)) {