summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQais Yousef <qyousef@google.com>2023-09-15 17:16:06 +0000
committerQais Yousef <qyousef@google.com>2023-09-19 12:09:20 +0000
commite47293ac713ba719302d5e246ee6f11008071c93 (patch)
treecca6396c66091cf3c557e5f87940bc341b6efce3
parentc328e95c9e1658ce2ca8c7e5e04f393be185ff7e (diff)
downloadgs-e47293ac713ba719302d5e246ee6f11008071c93.tar.gz
vh: sched: Ignore vendor group uclamp_max for latency sensitive tasks
Enables being more restrictive with group setting, but still selectively ensure these important tasks aren't impacted. Bug: 296404527 Signed-off-by: Qais Yousef <qyousef@google.com> Change-Id: I980cfe4538dce115cb87ac4d43b0a1d75327d312
-rw-r--r--drivers/soc/google/vh/kernel/sched/fair.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/soc/google/vh/kernel/sched/fair.c b/drivers/soc/google/vh/kernel/sched/fair.c
index d32de7973..2480b8cfa 100644
--- a/drivers/soc/google/vh/kernel/sched/fair.c
+++ b/drivers/soc/google/vh/kernel/sched/fair.c
@@ -2028,7 +2028,8 @@ uclamp_tg_restrict_pixel_mod(struct task_struct *p, enum uclamp_id clamp_id)
tg_max = task_group(p)->uclamp[UCLAMP_MAX].value;
// Vendor group restriction
vnd_min = vg[vp->group].uc_req[UCLAMP_MIN].value;
- vnd_max = vg[vp->group].uc_req[UCLAMP_MAX].value;
+ vnd_max = get_uclamp_fork_reset(p, true) ?
+ uclamp_none(UCLAMP_MAX) : vg[vp->group].uc_req[UCLAMP_MAX].value;
if (vg[vp->group].auto_uclamp_max) {
vp->auto_uclamp_max_flags |= AUTO_UCLAMP_MAX_FLAG_GROUP;
vnd_max = sched_auto_uclamp_max[task_cpu(p)];