diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 7f5254144f3a..8379fe543f4e 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -405,6 +405,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_update_rt_rq_load_avg_internal, TP_PROTO(u64 now, struct rq *rq, int running, int *ret), TP_ARGS(now, rq, running, ret), 1); +DECLARE_HOOK(android_vh_account_task_time, + TP_PROTO(struct task_struct *p, struct rq *rq, int user_tick), + TP_ARGS(p, rq, user_tick)); + DECLARE_HOOK(android_vh_map_util_freq, TP_PROTO(unsigned long util, unsigned long freq, unsigned long cap, unsigned long *next_freq), diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c index a85ca2293ebd..5cb75411eb51 100644 --- a/kernel/sched/cputime.c +++ b/kernel/sched/cputime.c @@ -495,6 +495,7 @@ void account_process_tick(struct task_struct *p, int user_tick) if (vtime_accounting_enabled_this_cpu()) return; + trace_android_vh_account_task_time(p, this_rq(), user_tick); if (sched_clock_irqtime) { irqtime_account_process_tick(p, user_tick, 1); diff --git a/kernel/sched/vendor_hooks.c b/kernel/sched/vendor_hooks.c index 4502699bcc88..cf8e8b134f19 100644 --- a/kernel/sched/vendor_hooks.c +++ b/kernel/sched/vendor_hooks.c @@ -96,6 +96,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_pelt_multiplier); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_post_init_entity_util_avg); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_attach_entity_load_avg); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_detach_entity_load_avg); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_account_task_time); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_load_avg); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_remove_entity_load_avg); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_ptr);