From: Aaron Conole <aconole@redhat.com>
To: "Vineeth Pillai (Google)" <vineeth@bitbyteword.org>
Cc: Steven Rostedt <rostedt@goodmis.org>,
Peter Zijlstra <peterz@infradead.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>,
Simon Horman <horms@kernel.org>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Jesper Dangaard Brouer <hawk@kernel.org>,
John Fastabend <john.fastabend@gmail.com>,
Stanislav Fomichev <sdf@fomichev.me>,
Eelco Chaudron <echaudro@redhat.com>,
Ilya Maximets <i.maximets@ovn.org>,
Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>,
Xin Long <lucien.xin@gmail.com>, Jon Maloy <jmaloy@redhat.com>,
Willem de Bruijn <willemb@google.com>,
Samiullah Khawaja <skhawaja@google.com>,
Hangbin Liu <liuhangbin@gmail.com>,
Kuniyuki Iwashima <kuniyu@google.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
bpf@vger.kernel.org, dev@openvswitch.org,
linux-sctp@vger.kernel.org,
tipc-discussion@lists.sourceforge.net,
linux-trace-kernel@vger.kernel.org
Subject: Re: [PATCH v2 04/19] net: Use trace_call__##name() at guarded tracepoint call sites
Date: Tue, 24 Mar 2026 11:33:28 -0400 [thread overview]
Message-ID: <f7ttsu58con.fsf@redhat.com> (raw)
In-Reply-To: <20260323160052.17528-5-vineeth@bitbyteword.org> (Vineeth Pillai's message of "Mon, 23 Mar 2026 12:00:23 -0400")
"Vineeth Pillai (Google)" <vineeth@bitbyteword.org> writes:
> Replace trace_foo() with the new trace_call__foo() at sites already
> guarded by trace_foo_enabled(), avoiding a redundant
> static_branch_unlikely() re-evaluation inside the tracepoint.
> trace_call__foo() calls the tracepoint callbacks directly without
> utilizing the static branch again.
>
> Suggested-by: Steven Rostedt <rostedt@goodmis.org>
> Suggested-by: Peter Zijlstra <peterz@infradead.org>
> Signed-off-by: Vineeth Pillai (Google) <vineeth@bitbyteword.org>
> Assisted-by: Claude:claude-sonnet-4-6
> ---
As noted before, I think we can just eliminate the guard in the
openvswitch module (and that would probably be a more understandable
fix) rather than replacing the call-in.
> net/core/dev.c | 2 +-
> net/core/xdp.c | 2 +-
> net/openvswitch/actions.c | 2 +-
> net/openvswitch/datapath.c | 2 +-
> net/sctp/outqueue.c | 2 +-
> net/tipc/node.c | 2 +-
> 6 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/net/core/dev.c b/net/core/dev.c
> index 14a83f2035b93..f7602b1892fea 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -6444,7 +6444,7 @@ void netif_receive_skb_list(struct list_head *head)
> return;
> if (trace_netif_receive_skb_list_entry_enabled()) {
> list_for_each_entry(skb, head, list)
> - trace_netif_receive_skb_list_entry(skb);
> + trace_call__netif_receive_skb_list_entry(skb);
> }
> netif_receive_skb_list_internal(head);
> trace_netif_receive_skb_list_exit(0);
> diff --git a/net/core/xdp.c b/net/core/xdp.c
> index 9890a30584ba7..3003e5c574191 100644
> --- a/net/core/xdp.c
> +++ b/net/core/xdp.c
> @@ -362,7 +362,7 @@ int xdp_rxq_info_reg_mem_model(struct xdp_rxq_info *xdp_rxq,
> xsk_pool_set_rxq_info(allocator, xdp_rxq);
>
> if (trace_mem_connect_enabled() && xdp_alloc)
> - trace_mem_connect(xdp_alloc, xdp_rxq);
> + trace_call__mem_connect(xdp_alloc, xdp_rxq);
> return 0;
> }
>
> diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c
> index 792ca44a461da..60823de201417 100644
> --- a/net/openvswitch/actions.c
> +++ b/net/openvswitch/actions.c
> @@ -1259,7 +1259,7 @@ static int do_execute_actions(struct datapath *dp, struct sk_buff *skb,
> int err = 0;
>
> if (trace_ovs_do_execute_action_enabled())
> - trace_ovs_do_execute_action(dp, skb, key, a, rem);
> + trace_call__ovs_do_execute_action(dp, skb, key, a, rem);
>
> /* Actions that rightfully have to consume the skb should do it
> * and return directly.
> diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c
> index e209099218b41..2b9755e2e4731 100644
> --- a/net/openvswitch/datapath.c
> +++ b/net/openvswitch/datapath.c
> @@ -335,7 +335,7 @@ int ovs_dp_upcall(struct datapath *dp, struct sk_buff *skb,
> int err;
>
> if (trace_ovs_dp_upcall_enabled())
> - trace_ovs_dp_upcall(dp, skb, key, upcall_info);
> + trace_call__ovs_dp_upcall(dp, skb, key, upcall_info);
>
> if (upcall_info->portid == 0) {
> err = -ENOTCONN;
> diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c
> index f6b8c13dafa4a..4025d863ffc84 100644
> --- a/net/sctp/outqueue.c
> +++ b/net/sctp/outqueue.c
> @@ -1267,7 +1267,7 @@ int sctp_outq_sack(struct sctp_outq *q, struct sctp_chunk *chunk)
> /* SCTP path tracepoint for congestion control debugging. */
> if (trace_sctp_probe_path_enabled()) {
> list_for_each_entry(transport, transport_list, transports)
> - trace_sctp_probe_path(transport, asoc);
> + trace_call__sctp_probe_path(transport, asoc);
> }
>
> sack_ctsn = ntohl(sack->cum_tsn_ack);
> diff --git a/net/tipc/node.c b/net/tipc/node.c
> index af442a5ef8f3d..5745d6aa0a054 100644
> --- a/net/tipc/node.c
> +++ b/net/tipc/node.c
> @@ -1943,7 +1943,7 @@ static bool tipc_node_check_state(struct tipc_node *n, struct sk_buff *skb,
>
> if (trace_tipc_node_check_state_enabled()) {
> trace_tipc_skb_dump(skb, false, "skb for node state check");
> - trace_tipc_node_check_state(n, true, " ");
> + trace_call__tipc_node_check_state(n, true, " ");
> }
> l = n->links[bearer_id].link;
> if (!l)
next prev parent reply other threads:[~2026-03-24 15:33 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-23 16:00 [PATCH v2 00/19] tracepoint: Avoid double static_branch evaluation at guarded call sites Vineeth Pillai (Google)
2026-03-23 16:00 ` [PATCH v2 01/19] tracepoint: Add trace_call__##name() API Vineeth Pillai (Google)
2026-03-26 1:28 ` Masami Hiramatsu
2026-03-23 16:00 ` [PATCH v2 02/19] kernel: Use trace_call__##name() at guarded tracepoint call sites Vineeth Pillai (Google)
2026-03-23 17:42 ` Tejun Heo
2026-03-25 17:16 ` Thomas Gleixner
2026-03-26 1:29 ` Masami Hiramatsu
2026-03-23 16:00 ` [PATCH v2 03/19] io_uring: " Vineeth Pillai (Google)
2026-03-23 16:00 ` [PATCH v2 04/19] net: " Vineeth Pillai (Google)
2026-03-24 15:33 ` Aaron Conole [this message]
2026-03-24 15:37 ` Steven Rostedt
2026-03-23 16:00 ` [PATCH v2 05/19] accel/habanalabs: " Vineeth Pillai (Google)
2026-03-23 16:00 ` [PATCH v2 06/19] cpufreq: " Vineeth Pillai (Google)
2026-03-26 10:24 ` Rafael J. Wysocki
2026-03-27 9:10 ` Gautham R. Shenoy
2026-03-23 16:00 ` [PATCH v2 07/19] devfreq: " Vineeth Pillai (Google)
2026-03-23 16:00 ` [PATCH v2 08/19] dma-buf: " Vineeth Pillai (Google)
2026-03-23 16:00 ` [PATCH v2 09/19] fsi: " Vineeth Pillai (Google)
2026-03-23 16:00 ` [PATCH v2 10/19] drm: " Vineeth Pillai (Google)
2026-03-23 16:00 ` [PATCH v2 11/19] HID: " Vineeth Pillai (Google)
2026-03-23 16:00 ` [PATCH v2 12/19] i2c: " Vineeth Pillai (Google)
2026-03-23 16:43 ` Wolfram Sang
2026-03-23 16:00 ` [PATCH v2 13/19] spi: " Vineeth Pillai (Google)
2026-03-23 16:03 ` Mark Brown
2026-03-23 16:00 ` [PATCH v2 14/19] scsi: ufs: " Vineeth Pillai (Google)
2026-03-23 16:00 ` [PATCH v2 15/19] btrfs: " Vineeth Pillai (Google)
2026-03-23 17:53 ` David Sterba
2026-03-23 16:00 ` [PATCH v2 16/19] net: devlink: " Vineeth Pillai (Google)
2026-03-23 16:00 ` [PATCH v2 17/19] kernel: time, trace: " Vineeth Pillai (Google)
2026-03-23 16:00 ` [PATCH v2 18/19] mm: damon: " Vineeth Pillai (Google)
2026-03-24 0:25 ` SeongJae Park
2026-03-23 16:00 ` [PATCH v2 19/19] x86: msr: " Vineeth Pillai (Google)
2026-03-24 14:28 ` [PATCH v2 00/19] tracepoint: Avoid double static_branch evaluation at guarded " Steven Rostedt
2026-04-18 23:04 ` Steven Rostedt
2026-04-19 13:14 ` Vineeth Remanan Pillai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f7ttsu58con.fsf@redhat.com \
--to=aconole@redhat.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=dev@openvswitch.org \
--cc=echaudro@redhat.com \
--cc=edumazet@google.com \
--cc=hawk@kernel.org \
--cc=horms@kernel.org \
--cc=i.maximets@ovn.org \
--cc=jmaloy@redhat.com \
--cc=john.fastabend@gmail.com \
--cc=kuba@kernel.org \
--cc=kuniyu@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sctp@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=liuhangbin@gmail.com \
--cc=lucien.xin@gmail.com \
--cc=marcelo.leitner@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=sdf@fomichev.me \
--cc=skhawaja@google.com \
--cc=tipc-discussion@lists.sourceforge.net \
--cc=vineeth@bitbyteword.org \
--cc=willemb@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.