__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


Reply via email to