From d5ac0297416c24d7fbb36a06c4d40724352ef720 Mon Sep 17 00:00:00 2001 From: Rick Yiu Date: Mon, 28 Jun 2021 14:56:29 +0800 Subject: [PATCH] ANDROID: sched: Add trace for __setscheduler_uclamp To know per-task uclamp request. Bug: 191973176 Signed-off-by: Rick Yiu Change-Id: Ibd40391f2228db5daa410198339237879e67a078 Signed-off-by: Will McVicker --- drivers/android/vendor_hooks.c | 1 + include/trace/hooks/sched.h | 4 ++++ kernel/sched/core.c | 2 ++ 3 files changed, 7 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index a6e98af6baf8..34a9f9b3e45e 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -202,3 +202,4 @@ 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); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_util_est_update); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_setscheduler_uclamp); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 7aee7c10ab85..6c1966ca9448 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -341,6 +341,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_util_est_update, TP_PROTO(struct cfs_rq *cfs_rq, struct task_struct *p, bool task_sleep, int *ret), TP_ARGS(cfs_rq, p, task_sleep, ret), 1); +DECLARE_HOOK(android_vh_setscheduler_uclamp, + TP_PROTO(struct task_struct *tsk, int clamp_id, unsigned int value), + TP_ARGS(tsk, clamp_id, value)); + /* macro versions of hooks are no longer required */ #endif /* _TRACE_HOOK_SCHED_H */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c index ea60ba1cf3ea..eaf6b0db3666 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1909,12 +1909,14 @@ static void __setscheduler_uclamp(struct task_struct *p, attr->sched_util_min != -1) { uclamp_se_set(&p->uclamp_req[UCLAMP_MIN], attr->sched_util_min, true); + trace_android_vh_setscheduler_uclamp(p, UCLAMP_MIN, attr->sched_util_min); } if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MAX && attr->sched_util_max != -1) { uclamp_se_set(&p->uclamp_req[UCLAMP_MAX], attr->sched_util_max, true); + trace_android_vh_setscheduler_uclamp(p, UCLAMP_MAX, attr->sched_util_max); } }