From 47cca682008eb27f897472f4ace70e1874e6fe44 Mon Sep 17 00:00:00 2001 From: kuyo chang Date: Fri, 8 Aug 2025 11:30:31 +0800 Subject: [PATCH] ANDROID: sched: Add trace hook for DL server Create a trace hook when the DL server is activated. This allows vendors to debug RT/Fair contention issues by dumping the following information: 1.The task served by the DL server 2.The status of the DL server Bug: 436885337 Change-Id: I2157bd22b7d7c80d7ec1eeeba3ec6fb88efa4abd Signed-off-by: kuyo chang Signed-off-by: kuyo chang --- include/trace/hooks/sched.h | 5 +++++ kernel/sched/deadline.c | 1 + kernel/sched/vendor_hooks.c | 1 + 3 files changed, 7 insertions(+) diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index f0d0f15c535a..b272a089a1c4 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -531,6 +531,11 @@ DECLARE_RESTRICTED_HOOK(android_rvh_util_fits_cpu, int cpu, bool *fits, bool *done), TP_ARGS(util, uclamp_min, uclamp_max, cpu, fits, done), 1); +struct sched_dl_entity; +DECLARE_HOOK(android_vh_dump_dl_server, + TP_PROTO(struct sched_dl_entity *dl_se, struct task_struct *p), + TP_ARGS(dl_se, p)); + /* macro versions of hooks are no longer required */ #endif /* _TRACE_HOOK_SCHED_H */ diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 9f98aaca7e6c..60144c27f8ef 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -2462,6 +2462,7 @@ again: goto again; } rq->dl_server = dl_se; + trace_android_vh_dump_dl_server(dl_se, p); } else { p = dl_task_of(dl_se); } diff --git a/kernel/sched/vendor_hooks.c b/kernel/sched/vendor_hooks.c index cb1d6f57cf85..97155e1a2285 100644 --- a/kernel/sched/vendor_hooks.c +++ b/kernel/sched/vendor_hooks.c @@ -136,3 +136,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_uclamp_validate); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_util_fits_cpu); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_before_pick_task_fair); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_balance_fair); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dump_dl_server);