diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 954e63e30fde..7d897898eaaf 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -35,6 +35,7 @@ #include #include #include +#include /* * Export tracepoints that act as a bare tracehook (ie: have no trace event @@ -95,3 +96,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rproc_recovery); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rproc_recovery_set); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_timer_calc_index); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_is_fpsimd_save); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_show_task); diff --git a/include/trace/hooks/dtask.h b/include/trace/hooks/dtask.h new file mode 100644 index 000000000000..02a18e203f9e --- /dev/null +++ b/include/trace/hooks/dtask.h @@ -0,0 +1,18 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM dtask +#define TRACE_INCLUDE_PATH trace/hooks + +#if !defined(_TRACE_HOOK_DTASK_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_HOOK_DTASK_H + +#include + +struct task_struct; +DECLARE_HOOK(android_vh_sched_show_task, + TP_PROTO(struct task_struct *task), + TP_ARGS(task)); + +#endif /* _TRACE_HOOK_DTASK_H */ +/* This part must be outside protection */ +#include diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 58edaf3f6951..fa16c1b04f7e 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -99,6 +99,7 @@ #include #include +#include EXPORT_TRACEPOINT_SYMBOL_GPL(ipi_send_cpu); EXPORT_TRACEPOINT_SYMBOL_GPL(ipi_send_cpumask); @@ -7689,6 +7690,7 @@ void sched_show_task(struct task_struct *p) print_worker_info(KERN_INFO, p); print_stop_info(KERN_INFO, p); print_scx_info(KERN_INFO, p); + trace_android_vh_sched_show_task(p); show_stack(p, NULL, KERN_INFO); put_task_stack(p); }