Re: [PATCH 00/15] tracepoint: Avoid double static_branch evaluation at guarded call sites
Vineeth Remanan Pillai <[email protected]> Fri, 13 Mar 2026 10:02:32 -0400
| Newsgroups | org.kernel.vger.linux-sctp,org.freedesktop.lists.amd-gfx,org.freedesktop.lists.dri-devel,org.kernel.vger.bpf,org.kernel.vger.io-uring,org.kernel.vger.linux-btrfs,org.kernel.vger.linux-i2c,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm,org.kernel.vger.linux-scsi,org.kernel.vger.linux-spi,org.kernel.vger.linux-trace-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <CAO7JXPgHYZ9zF1HFahb2447X85YRZCQQBHB6ihOwKSDtiZi8kQ@mail.gmail.com> |
On Thu, Mar 12, 2026 at 1:03 PM Steven Rostedt <[email protected]> wrote: > > On Thu, 12 Mar 2026 09:54:29 -0700 > Andrii Nakryiko <[email protected]> wrote: > > > > > emit_trace_foo() > > > > __trace_foo() > > > > this seems like the best approach, IMO. double-underscored variants > > are usually used for some specialized/internal version of a function > > when we know that some conditions are correct (e.g., lock is already > > taken, or something like that). Which fits here: trace_xxx() will > > check if tracepoint is enabled, while __trace_xxx() will not check and > > just invoke the tracepoint? It's short, it's distinct, and it says "I > > know what I am doing". > > Honestly, I consider double underscore as internal only and not something > anyone but the subsystem maintainers use. > > This, is a normal function where it's just saying: If you have it already > enabled, then you can use this. Thus, I don't think it qualifies as a "you > know what you are doing". > > Perhaps: call_trace_foo() ? > call_trace_foo has one collision with the tracepoint sched_update_nr_running and a function call_trace_sched_update_nr_running. I had considered this and later moved to trace_invoke_foo() because of the collision. But I can rename call_trace_sched_update_nr_running to something else if call_trace_foo is the general consensus. Thanks, Vineeth