diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index fab0e3d6d0de..1ff06143076b 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -188,3 +188,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_selinux_is_initialized); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_mmap_file); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_file_open); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_bpf_syscall); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_post_init_entity_util_avg); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 9f3ad757b444..202479c9767b 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -306,6 +306,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_dequeue_task_fair, TP_PROTO(struct rq *rq, struct task_struct *p, int flags), TP_ARGS(rq, p, flags), 1); +DECLARE_RESTRICTED_HOOK(android_rvh_post_init_entity_util_avg, + TP_PROTO(struct sched_entity *se), + TP_ARGS(se), 1); + #endif /* _TRACE_HOOK_SCHED_H */ /* This part must be outside protection */ #include diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 0dfe1435896b..fc5273227808 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -828,6 +828,8 @@ void post_init_entity_util_avg(struct task_struct *p) return; } + /* Hook before this se's util is attached to cfs_rq's util */ + trace_android_rvh_post_init_entity_util_avg(se); attach_entity_cfs_rq(se); }