ANDROID: sched: Add vendor hook for uclamp_eff_get
Vendor may have their own behavior for determing uclamp value. Also uclamp_eff_get() is used in uclamp_rq_inc_id() when task is enqueued, and it is contained in uclamp_eff_value(), there is no much benefit to hook uclamp_eff_value(), so remove the hook in uclamp_eff_value(). Bug: 170507972 Bug: 180859906 Signed-off-by: Rick Yiu <rickyiu@google.com> Change-Id: Ibf7c043188a77c40baf5b4040b198a4197236089 Signed-off-by: Will McVicker <willmcvicker@google.com>
This commit is contained in:
1 parent
7253878d43
commit
fcded6eef8
3 files changed
+14
No files matched your search
@@ -200,3 +200,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_post_init_entity_util_avg);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_new_ilb);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_wake_up_sync);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_wake_flags);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_uclamp_eff_get);
|
||||
@@ -283,6 +283,13 @@ DECLARE_HOOK(android_vh_free_task,
|
||||
TP_PROTO(struct task_struct *p),
|
||||
TP_ARGS(p));
|
||||
|
||||
enum uclamp_id;
|
||||
struct uclamp_se;
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_uclamp_eff_get,
|
||||
TP_PROTO(struct task_struct *p, enum uclamp_id clamp_id,
|
||||
struct uclamp_se *uclamp_max, struct uclamp_se *uclamp_eff, int *ret),
|
||||
TP_ARGS(p, clamp_id, uclamp_max, uclamp_eff, ret), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_after_enqueue_task,
|
||||
TP_PROTO(struct rq *rq, struct task_struct *p),
|
||||
TP_ARGS(rq, p), 1);
|
||||
|
||||
@@ -1489,6 +1489,12 @@ uclamp_eff_get(struct task_struct *p, enum uclamp_id clamp_id)
|
||||
{
|
||||
struct uclamp_se uc_req = uclamp_tg_restrict(p, clamp_id);
|
||||
struct uclamp_se uc_max = uclamp_default[clamp_id];
|
||||
struct uclamp_se uc_eff;
|
||||
int ret = 0;
|
||||
|
||||
trace_android_rvh_uclamp_eff_get(p, clamp_id, &uc_max, &uc_eff, &ret);
|
||||
if (ret)
|
||||
return uc_eff;
|
||||
|
||||
/* System default restrictions always apply */
|
||||
if (unlikely(uc_req.value > uc_max.value))
|
||||
|
||||
Reference in new issue
Block a user