From f0ff9d0ac58cf16ce9c24586e88cf893313dfad1 Mon Sep 17 00:00:00 2001 From: Sangmoon Kim Date: Wed, 5 Aug 2020 22:13:43 +0900 Subject: [PATCH] ANDROID: vendor_hooks: add waiting information for blocked tasks - Add the hook to print messages for sched_show_task. Bug: 162776704 Signed-off-by: Sangmoon Kim Change-Id: Ib436fbd8d0ad509c3b5a73ea8f5170e0761a13fd (cherry picked from commit 9ad8ff902e39f37baf15904c6627ca03e8f60c27) (cherry picked from commit b519ac423787d38f467ca479d2126b7204d6f498) --- drivers/android/vendor_hooks.c | 2 ++ include/trace/hooks/dtask.h | 18 ++++++++++++++++++ kernel/sched/core.c | 2 ++ 3 files changed, 22 insertions(+) create mode 100644 include/trace/hooks/dtask.h 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); }