diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index eb9cf143d49c..4883b02436e2 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -359,6 +359,10 @@ DECLARE_HOOK(android_vh_account_task_time, TP_PROTO(struct task_struct *p, struct rq *rq, int user_tick, int ticks), TP_ARGS(p, rq, user_tick, ticks)); +DECLARE_HOOK(android_vh_dup_task_struct, + TP_PROTO(struct task_struct *tsk, struct task_struct *orig), + TP_ARGS(tsk, orig)); + /* macro versions of hooks are no longer required */ #endif /* _TRACE_HOOK_SCHED_H */ diff --git a/kernel/fork.c b/kernel/fork.c index 9f8ad2fb30ac..a6d6c4dbd433 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1065,6 +1065,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) android_init_vendor_data(tsk, 1); android_init_oem_data(tsk, 1); + trace_android_vh_dup_task_struct(tsk, orig); return tsk; free_stack: diff --git a/kernel/sched/vendor_hooks.c b/kernel/sched/vendor_hooks.c index 05713aa5cb42..0ef7b1efef68 100644 --- a/kernel/sched/vendor_hooks.c +++ b/kernel/sched/vendor_hooks.c @@ -92,3 +92,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_comm); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_setaffinity_early); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_account_process_tick_gran); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_account_task_time); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dup_task_struct);