[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20260123013641.23066-1-sunliming@linux.dev>
Date: Fri, 23 Jan 2026 09:36:41 +0800
From: sunliming@...ux.dev
To: rostedt@...dmis.org,
mhiramat@...nel.org
Cc: mathieu.desnoyers@...icios.com,
linux-kernel@...r.kernel.org,
linux-trace-kernel@...r.kernel.org,
sunliming <sunliming@...inos.cn>
Subject: [PATCH] tracing: kprobe-event: Return directly when dyn_event_list is empty
From: sunliming <sunliming@...inos.cn>
In enable_boot_kprobe_events(), it returns directly when dyn_event_list is
empty, thereby reducing the function's execution time. This function may
otherwise wait for the event_mutex lock for tens of milliseconds on certain
machines, which is unnecessary when dyn_event_list is empty.
Signed-off-by: sunliming <sunliming@...inos.cn>
---
kernel/trace/trace_kprobe.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index 9953506370a5..d89a403c99d4 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -1982,6 +1982,9 @@ static __init void enable_boot_kprobe_events(void)
struct trace_kprobe *tk;
struct dyn_event *pos;
+ if (list_empty(&dyn_event_list))
+ return;
+
guard(mutex)(&event_mutex);
for_each_trace_kprobe(tk, pos) {
list_for_each_entry(file, &tr->events, list)
--
2.25.1
Powered by blists - more mailing lists