ANDROID: sched: Introduce uclamp latency and boost wrapper

Introduce a simple helper to read the latency_sensitive flag from a
task. It is called uclamp_latency_sensitive() to match the API
proposed by Patrick.

While at it, introduce uclamp_boosted() which returns true only when a
task has a non-null min-clamp.

Change-Id: I5fc747da8b58625257a6604a3c88487b657fbe7a
Suggested-by: Patrick Bellasi <patrick.bellasi@arm.com>
Signed-off-by: Quentin Perret <quentin.perret@arm.com>
This commit is contained in:
Quentin Perret
2019-07-30 13:58:29 +01:00
committed by kondors1995
parent b5fa516b3a
commit fe73bc33df

View File

@@ -2643,6 +2643,11 @@ static inline bool uclamp_is_used(void)
{
return static_branch_likely(&sched_uclamp_used);
}
static inline bool uclamp_boosted(struct task_struct *p)
{
return uclamp_eff_value(p, UCLAMP_MIN) > 0;
}
#else /* CONFIG_UCLAMP_TASK */
static inline unsigned long uclamp_util_with(struct rq *rq, unsigned long util,
struct task_struct *p)
@@ -2654,9 +2659,27 @@ static inline bool uclamp_is_used(void)
{
return false;
}
#endif /* CONFIG_UCLAMP_TASK */
#ifdef CONFIG_UCLAMP_TASK_GROUP
static inline bool uclamp_latency_sensitive(struct task_struct *p)
{
struct cgroup_subsys_state *css = task_css(p, cpu_cgrp_id);
struct task_group *tg;
if (!css)
return false;
tg = container_of(css, struct task_group, css);
return tg->latency_sensitive;
}
#else
static inline bool uclamp_latency_sensitive(struct task_struct *p)
{
return false;
}
#endif /* CONFIG_UCLAMP_TASK_GROUP */
#ifdef CONFIG_SCHED_WALT
static inline bool