diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 7b17248f3431..423bcb7121c6 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -338,3 +338,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_aes_decrypt); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_force_compatible_pre); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_force_compatible_post); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_print_transaction_info); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_setscheduler_uclamp); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 8c2fdd2f76c6..914f5fdc4709 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -385,6 +385,11 @@ DECLARE_RESTRICTED_HOOK(android_rvh_force_compatible_pre, DECLARE_RESTRICTED_HOOK(android_rvh_force_compatible_post, TP_PROTO(void *unused), TP_ARGS(unused), 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 46a113c8bc2e..37c6ca73b000 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1545,12 +1545,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); } }