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

We now have trace_call__#name(), thus the above can be:

                if (tracepoint_enabled(irq_enable))
                        trace_call__local_irq_enable();

See commit 677a3d82b6407 ("tracepoint: Add trace_call__##name() API")

Just in case there's a v4.

-- Steve

Reply via email to