All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Blake Jones <blakejones@google.com>, Song Liu <song@kernel.org>,
	Jiri Olsa <jolsa@kernel.org>, Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Andrii Nakryiko <andrii@kernel.org>,
	Martin KaFai Lau <martin.lau@linux.dev>,
	Eduard Zingerman <eddyz87@gmail.com>,
	Yonghong Song <yonghong.song@linux.dev>,
	John Fastabend <john.fastabend@gmail.com>,
	KP Singh <kpsingh@kernel.org>,
	Stanislav Fomichev <sdf@fomichev.me>, Hao Luo <haoluo@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Ian Rogers <irogers@google.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	Chun-Tse Shao <ctshao@google.com>,
	Zhongqiu Han <quic_zhonhan@quicinc.com>,
	James Clark <james.clark@linaro.org>,
	Charlie Jenkins <charlie@rivosinc.com>,
	Andi Kleen <ak@linux.intel.com>,
	Dmitry Vyukov <dvyukov@google.com>, Leo Yan <leo.yan@arm.com>,
	Yujie Liu <yujie.liu@intel.com>,
	Graham Woodward <graham.woodward@arm.com>,
	Yicong Yang <yangyicong@hisilicon.com>,
	Ben Gainey <ben.gainey@arm.com>,
	linux-kernel@vger.kernel.org, bpf@vger.kernel.org,
	linux-perf-users@vger.kernel.org
Subject: Re: [PATCH 2/3] perf: collect BPF metadata from existing BPF programs
Date: Wed, 4 Jun 2025 19:12:19 -0300	[thread overview]
Message-ID: <aEDEw7bCDAtEXfGC@x1> (raw)
In-Reply-To: <aEC9UqkKeEj4on3M@google.com>

On Wed, Jun 04, 2025 at 02:40:34PM -0700, Namhyung Kim wrote:
> On Tue, Jun 03, 2025 at 03:29:35PM -0700, Blake Jones wrote:
> > On Tue, Jun 3, 2025 at 3:10 PM Namhyung Kim <namhyung@kernel.org> wrote:
> > > > Hmmm. Is that documented and tested anywhere? Offhand it sounds like an
> > > > implementation detail that I wouldn't feel great about depending on -
> > > > certainly not without a strong guarantee that it wouldn't change.

> > > Good point.  Maybe BPF folks have some idea?

> > > Anyway the current code generates them together in a function.

> > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/events/core.c?h=v6.15#n9825

> > It certainly does, yeah. But I don't want to have that become another
> > instance of https://www.hyrumslaw.com/.

> Thanks for sharing this.

> I'm curious about the semantics of the KSYMBOL and BPF_EVENT.  And I
> feel like there should be a connection between them.

So, the comment in:

tools/perf/util/bpf-event.c

Is:

 * Synthesize PERF_RECORD_KSYMBOL and PERF_RECORD_BPF_EVENT for one bpf
 * program. One PERF_RECORD_BPF_EVENT is generated for the program. And
 * one PERF_RECORD_KSYMBOL is generated for each sub program.

which is not so nicely worded tho :-\

"One KSYMBOL per program", followed by "one KSYMBOL per sub program".

But that matches the referenced:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/events/core.c?h=v6.15#n9825

So, for these bpf_metadata_ variables, would that be strictly per
program or would it be perf 'sub program'?

Couldn't get an answer from looking at tools/bpf/bpftool/prog.c, but
seems to be with progs, not subprogs, i.e. just the PERF_RECORD_KSYMBOL
associated with progs (not subprogs) will have those variables.

But then it seems those variables _are_ associated with at least one
PERF_RECORD_KSYMBOL, right?

- Arnaldo

> Song and Jiri, what do you think?

> Thanks,
> Namhyung

> > > > Can you say more about why the duplicated records concern you?
> > >
> > > More data means more chance to lost something.  I don't expect this is
> > > gonna be a practical concern but in general we should pursue less data.
> > 
> > That makes sense. In this case, it will only show up for BPF programs that
> > define "bpf_metadata_" variables (which is already an opt-in action), and
> > the number of variables a given program defines is likely to be quite small.
> > So I think the cost of the marginal increase in data generated is outweighed
> > by the usability and reliability benefits of being able to match these events
> > 1:1 with the KSYMBOL events. If this proves to be a problem in practice,
> > it can be revisited.

  reply	other threads:[~2025-06-04 22:12 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-21 22:27 [PATCH 0/3] perf: generate events for BPF metadata Blake Jones
2025-05-21 22:27 ` [PATCH 1/3] perf: add support for printing BTF character arrays as strings Blake Jones
2025-05-22 17:42   ` Arnaldo Carvalho de Melo
2025-05-22 18:19     ` Blake Jones
2025-05-29  0:58       ` Blake Jones
2025-05-30 17:40         ` Namhyung Kim
2025-05-31  7:26           ` Blake Jones
2025-06-03 18:23             ` Blake Jones
2025-06-03 18:43               ` Alexei Starovoitov
2025-06-03 19:47                 ` Namhyung Kim
2025-05-21 22:27 ` [PATCH 2/3] perf: collect BPF metadata from existing BPF programs Blake Jones
2025-05-29 17:47   ` Ian Rogers
2025-05-29 23:21     ` Blake Jones
2025-05-29 23:23       ` Ian Rogers
2025-06-03 20:15   ` Namhyung Kim
2025-06-03 21:27     ` Blake Jones
2025-06-03 21:44       ` Namhyung Kim
2025-06-03 21:54         ` Blake Jones
2025-06-03 22:09           ` Namhyung Kim
2025-06-03 22:29             ` Blake Jones
2025-06-04 21:40               ` Namhyung Kim
2025-06-04 22:12                 ` Arnaldo Carvalho de Melo [this message]
2025-06-04 23:04                   ` Blake Jones
2025-05-21 22:27 ` [PATCH 3/3] perf: collect BPF metadata from new programs, and display the new event Blake Jones
2025-05-29 18:12   ` Ian Rogers
2025-05-29 23:09     ` Blake Jones
2025-05-29 23:27       ` Ian Rogers
2025-05-29 23:49         ` Blake Jones

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=aEDEw7bCDAtEXfGC@x1 \
    --to=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=ben.gainey@arm.com \
    --cc=blakejones@google.com \
    --cc=bpf@vger.kernel.org \
    --cc=charlie@rivosinc.com \
    --cc=ctshao@google.com \
    --cc=daniel@iogearbox.net \
    --cc=dvyukov@google.com \
    --cc=eddyz87@gmail.com \
    --cc=graham.woodward@arm.com \
    --cc=haoluo@google.com \
    --cc=irogers@google.com \
    --cc=james.clark@linaro.org \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=kpsingh@kernel.org \
    --cc=leo.yan@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=martin.lau@linux.dev \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=quic_zhonhan@quicinc.com \
    --cc=sdf@fomichev.me \
    --cc=song@kernel.org \
    --cc=yangyicong@hisilicon.com \
    --cc=yonghong.song@linux.dev \
    --cc=yujie.liu@intel.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.