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

From: Valentin Schneider
Date: Tue Oct 11 2022 - 11:26:17 EST


On 08/10/22 15:34, Steven Rostedt wrote:
> 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.
>

Makes sense, thanks for the suggestion.

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