summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQais Yousef <qyousef@google.com>2023-09-25 14:55:59 +0000
committerQais Yousef <qyousef@google.com>2023-09-25 14:58:48 +0000
commit175f72153e5bfab24ad0a8b0f3b985826ae22d52 (patch)
treee07c0ca8ba1a45dfbdbc024fa8e892c3da417723
parentf0f5b7229253042becc2e60456e98b9e55ba7330 (diff)
downloadgs-175f72153e5bfab24ad0a8b0f3b985826ae22d52.tar.gz
vh: sched: Don't filter iowait boosted tasks
iowait boosted tasks can run for a short period of time but they need to run faster to help get better IO performance. Hence don't filter them out. Bug: 301853335 Change-Id: Ia5319805d5c2f0b6de963b9d33aa284e2ffa704b Signed-off-by: Qais Yousef <qyousef@google.com>
-rw-r--r--drivers/soc/google/vh/kernel/sched/sched_priv.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/soc/google/vh/kernel/sched/sched_priv.h b/drivers/soc/google/vh/kernel/sched/sched_priv.h
index 03cfe72ff..02855c02e 100644
--- a/drivers/soc/google/vh/kernel/sched/sched_priv.h
+++ b/drivers/soc/google/vh/kernel/sched/sched_priv.h
@@ -497,6 +497,9 @@ static inline bool uclamp_can_ignore_uclamp_min(struct rq *rq,
if (get_uclamp_fork_reset(p, true))
return false;
+ if (p->in_iowait && uclamp_boosted(p))
+ return false;
+
if (rt_task(p))
return task_util(p) < sysctl_sched_uclamp_min_filter_rt;
@@ -572,6 +575,9 @@ static inline bool uclamp_can_ignore_uclamp_max(struct rq *rq,
if (get_uclamp_fork_reset(p, true))
return false;
+ if (p->in_iowait && uclamp_boosted(p))
+ return false;
+
/*
* If util has crossed uclamp_max threshold, then we have to ensure
* this is always enforced.
@@ -726,4 +732,4 @@ static inline void dec_adpf_counter(struct task_struct *p, atomic_t *num_adpf_ta
return;
atomic_dec(num_adpf_tasks);
-} \ No newline at end of file
+}