diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 9b22b8d6a966..03a9d96cbeeb 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -261,6 +261,10 @@ DECLARE_HOOK(android_vh_free_task, TP_PROTO(struct task_struct *p), TP_ARGS(p)); +DECLARE_HOOK(android_vh_irqtime_account_process_tick, + TP_PROTO(struct task_struct *p, struct rq *rq, int user_tick, int ticks), + TP_ARGS(p, rq, user_tick, ticks)); + enum uclamp_id; struct uclamp_se; DECLARE_RESTRICTED_HOOK(android_rvh_uclamp_eff_get, diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c index 28d272560f87..a85ca2293ebd 100644 --- a/kernel/sched/cputime.c +++ b/kernel/sched/cputime.c @@ -423,6 +423,7 @@ static void irqtime_account_process_tick(struct task_struct *p, int user_tick, } else { account_system_index_time(p, cputime, CPUTIME_SYSTEM); } + trace_android_vh_irqtime_account_process_tick(p, this_rq(), user_tick, ticks); } static void irqtime_account_idle_ticks(int ticks) diff --git a/kernel/sched/vendor_hooks.c b/kernel/sched/vendor_hooks.c index 7498b944e609..8aa2c60766cf 100644 --- a/kernel/sched/vendor_hooks.c +++ b/kernel/sched/vendor_hooks.c @@ -87,6 +87,7 @@ 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_find_new_ilb); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_util_cfs_boost); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_irqtime_account_process_tick); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dup_task_struct); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_energy_efficient_cpu); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_pelt_multiplier);