On Mon, Nov 25, 2024 at 09:25:14AM -0500, Mathieu Desnoyers wrote: > Using scoped_guard() in the implementation of trace_##name() adds an > unnecessary level of indentation. > > diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h > index b2633a72e871..e398f6e43f61 100644 > --- a/include/linux/tracepoint.h > +++ b/include/linux/tracepoint.h > @@ -259,8 +259,8 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p) > { \ > if (static_branch_unlikely(&__tracepoint_##name.key)) { \ > if (cond) { \ > - scoped_guard(preempt_notrace) \ > - __DO_TRACE_CALL(name, TP_ARGS(args)); \ > + guard(preempt_notrace)(); \ > + __DO_TRACE_CALL(name, TP_ARGS(args)); \ > } \ > } \ > if (IS_ENABLED(CONFIG_LOCKDEP) && (cond)) { \ > @@ -275,8 +275,8 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p) > { \ > might_fault(); \ > if (static_branch_unlikely(&__tracepoint_##name.key)) { \ > - scoped_guard(rcu_tasks_trace) \ > - __DO_TRACE_CALL(name, TP_ARGS(args)); \ > + guard(rcu_tasks_trace)(); \ > + __DO_TRACE_CALL(name, TP_ARGS(args)); \ > } \ > if (IS_ENABLED(CONFIG_LOCKDEP)) { \ > WARN_ONCE(!rcu_is_watching(), \ Yeah, that also works.