On Wed, 11 Mar 2026 20:43:05 +0100
Peter Zijlstra <[email protected]> wrote:

> On Wed, Mar 11, 2026 at 09:50:18AM -0300, Wander Lairson Costa wrote:
> > +#define local_irq_enable()                         \
> > +   do {                                            \
> > +           if (tracepoint_enabled(irq_enable))     \
> > +                   trace_local_irq_enable();       \  
> 
> I'm thinking you didn't even look at the assembly generated :/
> 
> Otherwise you would have written this like:
> 
>               if (tracepoint_enabled(irq_enable))
>                       __do_trace_local_irq_enable();

Please don't use the internal functions outside of the tracepoint.h

Vineeth is currently working on a patch set to properly do that. It's going
to introduce:

  trace_invoke_<event>()

Which basically is just __do_trace_<event>(), but as a wrapper that can
handle updates that may be needed, but supplies a proper API where thing
wont randomly break when __do_trace_<event>() changes.

-- Steve


> 
> > +           raw_local_irq_enable();                 \
> > +   } while (0)  
> 
> Again, this was one instruction, and you clearly didn't bother looking
> at the mess you've generated :/

Reply via email to