diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 499d434aaee0..b4cacb2071f8 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -113,3 +113,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_place_entity); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_cpu_capacity); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_misfit_status); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_attach); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_can_attach); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index f16ec7814123..6ec353b98ae6 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -194,6 +194,10 @@ struct cgroup_taskset; DECLARE_RESTRICTED_HOOK(android_rvh_cpu_cgroup_attach, TP_PROTO(struct cgroup_taskset *tset), TP_ARGS(tset), 1); + +DECLARE_RESTRICTED_HOOK(android_rvh_cpu_cgroup_can_attach, + TP_PROTO(struct cgroup_taskset *tset, int *retval), + TP_ARGS(tset, retval), 1); #else #define trace_android_rvh_select_task_rq_fair(p, prev_cpu, sd_flag, wake_flags, new_cpu) #define trace_android_rvh_select_task_rq_rt(p, prev_cpu, sd_flag, wake_flags, new_cpu) @@ -238,6 +242,7 @@ DECLARE_RESTRICTED_HOOK(android_rvh_cpu_cgroup_attach, #define trace_android_rvh_update_cpu_capacity(cpu, capacity) #define trace_android_rvh_update_misfit_status(p, rq, need_update) #define trace_android_rvh_cpu_cgroup_attach(tset) +#define trace_android_rvh_cpu_cgroup_can_attach(tset, retval) #endif #endif /* _TRACE_HOOK_SCHED_H */ /* This part must be outside protection */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 1d25ea19fb8c..4d60f1e1eeb6 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -7849,6 +7849,9 @@ static int cpu_cgroup_can_attach(struct cgroup_taskset *tset) if (ret) break; } + + trace_android_rvh_cpu_cgroup_can_attach(tset, &ret); + return ret; }