From e1061a93713b0363a786881151dda7fbab8951d6 Mon Sep 17 00:00:00 2001 From: Rick Yiu Date: Tue, 16 Mar 2021 10:07:31 +0800 Subject: [PATCH] ANDROID: sched: Add vendor hook for util_est_update Vendor may have its own estimated utilization. Bug: 170508405 Signed-off-by: Rick Yiu Change-Id: I6055907de75ace4586c3ad854d40f42e3bf40147 Signed-off-by: Will McVicker --- drivers/android/vendor_hooks.c | 1 + include/trace/hooks/sched.h | 4 ++++ kernel/sched/fair.c | 5 +++++ 3 files changed, 10 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 5ff27ef4d9c9..a6e98af6baf8 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -201,3 +201,4 @@ 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); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_util_est_update); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 781556c9e3e2..7aee7c10ab85 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -337,6 +337,10 @@ DECLARE_HOOK(android_vh_set_wake_flags, TP_PROTO(int *wake_flags, unsigned int *mode), TP_ARGS(wake_flags, mode)); +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); + /* macro versions of hooks are no longer required */ #endif /* _TRACE_HOOK_SCHED_H */ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 99952a070f79..781bc024779d 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4030,6 +4030,11 @@ static inline void util_est_update(struct cfs_rq *cfs_rq, { long last_ewma_diff, last_enqueued_diff; struct util_est ue; + int ret = 0; + + trace_android_rvh_util_est_update(cfs_rq, p, task_sleep, &ret); + if (ret) + return; if (!sched_feat(UTIL_EST)) return;