diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 87025ea52616..a22dae57cfe2 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -68,6 +68,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_fair); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_rt); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_fallback_rq); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_refrigerator); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_scheduler_tick); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_task); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_task); diff --git a/include/trace/hooks/cgroup.h b/include/trace/hooks/cgroup.h index ca9f7020a27c..6b6d7918c518 100644 --- a/include/trace/hooks/cgroup.h +++ b/include/trace/hooks/cgroup.h @@ -18,6 +18,9 @@ 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); +DECLARE_RESTRICTED_HOOK(android_rvh_refrigerator, + TP_PROTO(bool f), + TP_ARGS(f), 1); struct cgroup_subsys; struct cgroup_taskset; diff --git a/kernel/freezer.c b/kernel/freezer.c index 8f3d950c2a87..203bf9c21d3d 100644 --- a/kernel/freezer.c +++ b/kernel/freezer.c @@ -13,6 +13,9 @@ #include #include +#undef CREATE_TRACE_POINT +#include + /* total number of freezing conditions in effect */ atomic_t system_freezing_cnt = ATOMIC_INIT(0); EXPORT_SYMBOL(system_freezing_cnt); @@ -71,6 +74,7 @@ bool __refrigerator(bool check_kthr_stop) if (!freezing(current) || (check_kthr_stop && kthread_should_stop())) current->flags &= ~PF_FROZEN; + trace_android_rvh_refrigerator(pm_nosig_freezing); spin_unlock_irq(&freezer_lock); if (!(current->flags & PF_FROZEN))