diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 92064e1ce4a3..ed0386e4520b 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -276,3 +276,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_selinux_is_initialized); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_inactive_ratio); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_update_topology_flags_workfn); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_of_i2c_get_board_info); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cgroup_attach); diff --git a/include/trace/hooks/cgroup.h b/include/trace/hooks/cgroup.h index 7eda7678debc..ca9f7020a27c 100644 --- a/include/trace/hooks/cgroup.h +++ b/include/trace/hooks/cgroup.h @@ -18,6 +18,12 @@ DECLARE_RESTRICTED_HOOK(android_rvh_cpuset_fork, DECLARE_RESTRICTED_HOOK(android_rvh_cgroup_force_kthread_migration, TP_PROTO(struct task_struct *tsk, struct cgroup *dst_cgrp, bool *force_migration), TP_ARGS(tsk, dst_cgrp, force_migration), 1); + +struct cgroup_subsys; +struct cgroup_taskset; +DECLARE_HOOK(android_vh_cgroup_attach, + TP_PROTO(struct cgroup_subsys *ss, struct cgroup_taskset *tset), + TP_ARGS(ss, tset)) #endif #include diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index f473be99ba43..66981dfd3d7c 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -2452,6 +2452,7 @@ static int cgroup_migrate_execute(struct cgroup_mgctx *mgctx) do_each_subsys_mask(ss, ssid, mgctx->ss_mask) { if (ss->attach) { tset->ssid = ssid; + trace_android_vh_cgroup_attach(ss, tset); ss->attach(tset); } } while_each_subsys_mask();