netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Jiayuan Chen" <jiayuan.chen@linux.dev>
To: "Martin KaFai Lau" <martin.lau@linux.dev>,
	"Jakub Sitnicki" <jakub@cloudflare.com>,
	"John Fastabend" <john.fastabend@gmail.com>
Cc: "Cong Wang" <xiyou.wangcong@gmail.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Alexei Starovoitov" <ast@kernel.org>,
	"Daniel Borkmann" <daniel@iogearbox.net>,
	"Andrii Nakryiko" <andrii@kernel.org>,
	"Eduard Zingerman" <eddyz87@gmail.com>,
	"Song Liu" <song@kernel.org>,
	"Yonghong Song" <yonghong.song@linux.dev>,
	"KP Singh" <kpsingh@kernel.org>,
	"Stanislav Fomichev" <sdf@fomichev.me>,
	"Hao Luo" <haoluo@google.com>, "Jiri Olsa" <jolsa@kernel.org>,
	"Masami Hiramatsu" <mhiramat@kernel.org>,
	"Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>,
	"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>,
	"Jesper Dangaard Brouer" <hawk@kernel.org>,
	linux-kernel@vger.kernel.org, bpf@vger.kernel.org,
	netdev@vger.kernel.org, linux-trace-kernel@vger.kernel.org
Subject: Re: [RESEND PATCH bpf-next v4 1/2] bpf, sockmap: Introduce tracing capability for sockmap
Date: Wed, 07 May 2025 03:37:21 +0000	[thread overview]
Message-ID: <9c311d9944fa57cec75e06cde94496d782fe4980@linux.dev> (raw)
In-Reply-To: <b776fa07-de4b-44be-ae68-8bc8c362ea81@linux.dev>

May 7, 2025 at 04:24, "Martin KaFai Lau" <martin.lau@linux.dev> wrote:

> 
> On 5/5/25 7:51 PM, Jiayuan Chen wrote:
> 
> > 
> > Sockmap has the same high-performance forwarding capability as XDP, but
> > 
> >  operates at Layer 7.
> > 
> >  Introduce tracing capability for sockmap, to trace the execution results
> > 
> >  of BPF programs without modifying the programs themselves, similar to
> > 
> >  the existing trace_xdp_redirect{_map}.
> > 
> 
> There were advancements in bpf tracing since the trace_xdp_xxx additions.
> 
> Have you considered the fexit bpf prog and why it is not sufficient ?
> 

1.This patchset prints a large amount of information (e.g. inode ID, etc.),
some of which require kernel-internal helpers to access. These helpers are
not currently available as kfuncs, making it difficult to implement
equivalent functionality with fentry/fexit.

2. skb->_sk_redir implicitly stores both a redir action and the socket address
in a single field. Decoding this structure in fentry/fexit would require
duplicating kernel-internal logic in BPF programs. This creates maintenance
risks, as any future changes to the kernel's internal representation would
necessitate corresponding updates to the BPF programs.

3. Similar to the debate between using built-in tracepoints vs kprobes/fentry,
each approach has its tradeoffs. The key advantage of a built-in tracepoint is
seamless integration with existing tools like perf and bpftrace, which natively
support tracepoint-based tracing. For example, simply executing
'perf trace -e 'sockmap:*' ./producer' could provide sufficient visibility
without custom BPF programs.

  reply	other threads:[~2025-05-07  3:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-06  2:51 [RESEND PATCH bpf-next v4 1/2] bpf, sockmap: Introduce tracing capability for sockmap Jiayuan Chen
2025-05-06  2:51 ` [RESEND PATCH bpf-next v4 2/2] bpf: Move the BPF net tracepoint definitions to net directory Jiayuan Chen
2025-05-08  2:36   ` kernel test robot
2025-05-06  2:57 ` [RESEND PATCH bpf-next v4 1/2] bpf, sockmap: Introduce tracing capability for sockmap Jiayuan Chen
2025-05-06 20:24 ` Martin KaFai Lau
2025-05-07  3:37   ` Jiayuan Chen [this message]
2025-05-07  3:43     ` Alexei Starovoitov
2025-05-07  5:08       ` John Fastabend

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=9c311d9944fa57cec75e06cde94496d782fe4980@linux.dev \
    --to=jiayuan.chen@linux.dev \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=eddyz87@gmail.com \
    --cc=edumazet@google.com \
    --cc=haoluo@google.com \
    --cc=hawk@kernel.org \
    --cc=horms@kernel.org \
    --cc=jakub@cloudflare.com \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=kpsingh@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=martin.lau@linux.dev \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mhiramat@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=sdf@fomichev.me \
    --cc=song@kernel.org \
    --cc=xiyou.wangcong@gmail.com \
    --cc=yonghong.song@linux.dev \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).