Re: [RFC PATCH 4/5] irq_work: Trace calls to arch_irq_work_raise()

From: Steven Rostedt
Date: Sat Oct 08 2022 - 15:35:22 EST


On Fri, 7 Oct 2022 16:45:32 +0100
Valentin Schneider <vschneid@xxxxxxxxxx> wrote:
> }
>
> +static inline void irq_work_raise(void)
> +{
> + if (arch_irq_work_has_interrupt())
> + trace_ipi_send_cpu(_RET_IP_, smp_processor_id());

To save on the branch, let's make the above:

if (trace_ipi_send_cpu_enabled() && arch_irq_work_has_interrupt())

As the "trace_*_enabled()" is a static branch that will make it a nop
when the tracepoint is not enabled.

-- Steve


> +
> + arch_irq_work_raise();
> +}
> +
> /* Enqueue on current CPU, work must already be claimed and preempt disabled */