From mboxrd@z Thu Jan 1 00:00:00 1970 From: Valentin Schneider Date: Tue, 11 Oct 2022 15:02:06 +0000 Subject: Re: [RFC PATCH 4/5] irq_work: Trace calls to arch_irq_work_raise() Message-Id: List-Id: References: <20221007154145.1877054-1-vschneid@redhat.com> <20221007154533.1878285-4-vschneid@redhat.com> <20221008153442.159b2f2d@rorschach.local.home> In-Reply-To: <20221008153442.159b2f2d@rorschach.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Steven Rostedt Cc: Juri Lelli , Mark Rutland , linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, Peter Zijlstra , Sebastian Andrzej Siewior , Dave Hansen , linux-mips@vger.kernel.org, Guo Ren , "H. Peter Anvin" , sparclinux@vger.kernel.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, Marc Zyngier , linux-hexagon@vger.kernel.org, x86@kernel.org, Russell King , linux-csky@vger.kernel.org, Ingo Molnar , linux-snps-arc@lists.infradead.org, linux-xtensa@linux-xtensa.org, "Paul E. McKenney" , Frederic Weisbecker , Nicholas Piggin , openrisc@lists.librecores.org, Borislav Petkov , loongarch@lists.linux.dev, Thomas Gleixner , linux-arm-kernel@lists.infradead.org, linux-parisc@vger.kernel.org, Daniel Bristot de Oliveira , Marcelo Tosatti , linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, "David S. Miller" On 08/10/22 15:34, Steven Rostedt wrote: > On Fri, 7 Oct 2022 16:45:32 +0100 > Valentin Schneider 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 */