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

Steven Rostedt rostedt at goodmis.org
Sat Oct 8 12:34:42 PDT 2022


On Fri,  7 Oct 2022 16:45:32 +0100
Valentin Schneider <vschneid at redhat.com> 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 */



More information about the linux-riscv mailing list