__do_trace_##name() takes the tracepoint SRCU read lock and calls the probes. It is called from trace_##name(), trace_call__##name(), and the notrace rust_do_trace_##name(). It is a plain inline function, so if the compiler emits it out of line, that copy is untraced only because inline implies notrace.
Mark it notrace explicitly. No functional change. Assisted-by: Claude:claude-opus-5 Signed-off-by: Song Liu <[email protected]> --- include/linux/tracepoint.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h index e0d838c9ce93..1cd18b56c0a8 100644 --- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h @@ -308,7 +308,7 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p) #define __DECLARE_TRACE(name, proto, args, cond, data_proto) \ __DECLARE_TRACE_COMMON(name, PARAMS(proto), PARAMS(args), PARAMS(data_proto)) \ - static inline void __do_trace_##name(proto) \ + static inline void notrace __do_trace_##name(proto) \ { \ TRACEPOINT_CHECK(name) \ if (cond) { \ @@ -332,7 +332,7 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p) #define __DECLARE_TRACE_SYSCALL(name, proto, args, data_proto) \ __DECLARE_TRACE_COMMON(name, PARAMS(proto), PARAMS(args), PARAMS(data_proto)) \ - static inline void __do_trace_##name(proto) \ + static inline void notrace __do_trace_##name(proto) \ { \ TRACEPOINT_CHECK(name) \ guard(rcu_tasks_trace)(); \ -- 2.53.0-Meta
