From: Nam Cao <namcao@linutronix.de>
To: Gabriele Monaco <gmonaco@redhat.com>,
John Ogness <john.ogness@linutronix.de>,
Steven Rostedt <rostedt@goodmis.org>
Cc: Tomas Glozar <tglozar@redhat.com>,
Alexei Starovoitov <alexei.starovoitov@gmail.com>,
linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
bpf@vger.kernel.org, Wen Yang <wen.yang@linux.dev>,
Tobias Schaffner <tobias.schaffner@siemens.com>,
Viktor Malik <vmalik@redhat.com>
Subject: Re: [PATCH v2 10/15] tools/rv: Add BPF monitors
Date: Thu, 22 Oct 2026 10:25:13 +0200 [thread overview]
Message-ID: <871p9ita52.fsf@yellow.woof> (raw)
In-Reply-To: <f147fa9dfc553767ce92802b66723a85cf804e46.camel@redhat.com>
Gabriele Monaco <gmonaco@redhat.com> writes:
> Well, this would be yet another hybrid requiring BPF monitors registration in
> the kernel like I proposed in the RFC [1], which was the main point of
> contention (that fully shared reactors and sysfs interface, by the way).
>
> For this I would argue, though, that such monitors would be BPF just on paper,
> we wouldn't be able to use many advantages BPF provides (e.g. BPF maps).
>
> The current implementation already shares the header with in-kernel monitors, so
> the actual logic is shared. What isn't shared is the storage type and some glue
> around it.
> I used BPF maps because they offer some nice flexibility especially around per-
> task and per-obj monitors. On top of using more battle tested code.
> I would like to keep that.
>
> Besides, we'd need to be extra careful on controlling the callers. Right now
> handlers are static, so it's easier to make sure no rogue caller messes up with
> monitoring.
>
> What else definitely isn't shared, which is the main point of this whole
> conversation, is trace events.
> Those could be kfuncs. And no matter what you do, BPF monitors will need to
> share the trace events (unlike in-kernel that have separate events per monitor).
>
> In short, I don't think this would be easy to achieve and wouldn't earn us that
> much. (Plus I'd lose the hardly earned Alexei's blessing ;) )
>
> What do you think?
What about we refactor the in-kernel monitors' trace events into a
single one. I am picturing two functions for ALL classes and ALL
monitors:
void rv_error(const char *monitor_name, const char *message);
void rv_event(const char *monitor_name, const char *message);
which trigger the tracepoints. And we make those kfuncs. This allows
sharing trace events between in-kernel monitors and BPF monitors.
Then everything else (kernel reactors, users, perhaps even eBPF reactors
in the future) hook into those tracepoints.
Nam
next prev parent reply other threads:[~2026-10-22 8:25 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-01 15:20 [PATCH v2 00/15] rv: Add support for BPF monitors Gabriele Monaco
2026-10-01 15:20 ` [PATCH v2 01/15] sched: Add task enqueue/dequeue trace points Gabriele Monaco
2026-10-01 15:49 ` Peter Zijlstra
2026-10-02 7:09 ` Gabriele Monaco
2026-10-02 10:29 ` Peter Zijlstra
2026-10-02 11:55 ` Gabriele Monaco
2026-10-02 19:18 ` Peter Zijlstra
2026-10-02 19:40 ` Gabriele Monaco
2026-10-04 7:57 ` Steven Rostedt
2026-10-12 11:54 ` Peter Zijlstra
2026-10-04 7:45 ` Steven Rostedt
2026-10-12 11:49 ` Peter Zijlstra
2026-10-02 0:42 ` bot+bpf-ci
2026-10-01 15:20 ` [PATCH v2 02/15] tools/rv: Skip empty pid error in selftest if command failed Gabriele Monaco
2026-10-02 0:42 ` bot+bpf-ci
2026-10-01 15:20 ` [PATCH v2 03/15] rv: Refactor da_trace() functions to get strings internally Gabriele Monaco
2026-10-01 15:20 ` [PATCH v2 04/15] rv: Cast result of model_get_*_name() Gabriele Monaco
2026-10-13 6:14 ` Nam Cao
2026-10-13 8:15 ` Gabriele Monaco
2026-10-14 9:52 ` Gabriele Monaco
2026-10-14 10:02 ` Nam Cao
2026-10-01 15:20 ` [PATCH v2 05/15] tools/rv: Move argument parsing from in_kernel to utils Gabriele Monaco
2026-10-02 0:25 ` bot+bpf-ci
2026-10-01 15:20 ` [PATCH v2 06/15] tools/build: Add a feature test for bpftool-btf Gabriele Monaco
2026-10-01 15:20 ` [PATCH v2 07/15] tools/rv: Implement BPF monitor discovery and listing Gabriele Monaco
2026-10-01 15:40 ` sashiko-bot
2026-10-02 0:42 ` bot+bpf-ci
2026-10-01 15:20 ` [PATCH v2 08/15] tools/rv: Implement BPF monitor loading and tracing Gabriele Monaco
2026-10-01 15:41 ` sashiko-bot
2026-10-02 0:43 ` bot+bpf-ci
2026-10-01 15:20 ` [PATCH v2 09/15] tools/rv: Copy stripped bpf_atomic.h from libarena Gabriele Monaco
2026-10-02 0:42 ` bot+bpf-ci
2026-10-07 12:59 ` Nam Cao
2026-10-08 9:00 ` Gabriele Monaco
2026-10-08 11:16 ` Nam Cao
2026-10-09 10:09 ` Gabriele Monaco
2026-10-11 0:43 ` Steven Rostedt
2026-10-12 7:43 ` Gabriele Monaco
2026-10-01 15:20 ` [PATCH v2 10/15] tools/rv: Add BPF monitors Gabriele Monaco
2026-10-01 15:55 ` sashiko-bot
2026-10-02 0:43 ` bot+bpf-ci
2026-10-06 13:29 ` Alexei Starovoitov
2026-10-08 9:54 ` Gabriele Monaco
2026-10-16 18:32 ` Alexei Starovoitov
2026-10-16 19:20 ` John Ogness
2026-10-17 10:42 ` Gabriele Monaco
2026-10-17 15:17 ` John Ogness
2026-10-17 16:09 ` Alexei Starovoitov
2026-10-17 16:56 ` John Ogness
2026-10-17 23:25 ` Alexei Starovoitov
2026-10-18 12:10 ` John Ogness
2026-10-19 9:05 ` Gabriele Monaco
2026-10-19 9:27 ` John Ogness
2026-10-19 9:46 ` Tomas Glozar
2026-10-19 13:16 ` Steven Rostedt
2026-10-19 10:01 ` Tomas Glozar
2026-10-19 10:43 ` Gabriele Monaco
2026-10-19 11:05 ` Tomas Glozar
2026-10-19 12:47 ` Gabriele Monaco
2026-10-19 13:05 ` Tomas Glozar
2026-10-21 7:26 ` Nam Cao
2026-10-19 13:02 ` John Ogness
2026-10-20 7:29 ` Gabriele Monaco
2026-10-21 8:01 ` Nam Cao
2026-10-21 11:54 ` Gabriele Monaco
2026-10-21 13:48 ` Steven Rostedt
2026-10-21 15:24 ` Gabriele Monaco
2026-10-21 16:47 ` John Ogness
2026-10-22 6:46 ` Gabriele Monaco
2026-10-22 8:15 ` John Ogness
2026-10-22 10:09 ` Gabriele Monaco
2026-10-22 11:34 ` Gabriele Monaco
2026-10-22 8:25 ` Nam Cao [this message]
2026-10-19 8:33 ` Gabriele Monaco
2026-10-19 9:10 ` John Ogness
2026-10-19 10:48 ` Gabriele Monaco
2026-10-19 12:51 ` Nam Cao
2026-10-19 13:14 ` John Ogness
2026-10-21 8:13 ` Nam Cao
2026-10-21 8:46 ` Gabriele Monaco
2026-10-21 11:12 ` Nam Cao
2026-10-21 15:55 ` Gabriele Monaco
2026-10-17 10:48 ` Gabriele Monaco
2026-10-01 15:20 ` [PATCH v2 11/15] tools/rv: Define CONFIG_X86_64 statically for " Gabriele Monaco
2026-10-01 15:49 ` sashiko-bot
2026-10-01 15:20 ` [PATCH v2 12/15] tools/rv: Add reactors support to " Gabriele Monaco
2026-10-01 15:57 ` sashiko-bot
2026-10-02 0:43 ` bot+bpf-ci
2026-10-01 15:20 ` [PATCH v2 13/15] verification/rvgen: Add support for " Gabriele Monaco
2026-10-02 0:25 ` bot+bpf-ci
2026-10-01 15:20 ` [PATCH v2 14/15] tools/rv: Add selftest for rv bpf monitors Gabriele Monaco
2026-10-01 16:03 ` sashiko-bot
2026-10-02 0:43 ` bot+bpf-ci
2026-10-01 15:20 ` [PATCH v2 15/15] verification/rvgen: Add selftest for rvgen -b Gabriele Monaco
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=871p9ita52.fsf@yellow.woof \
--to=namcao@linutronix.de \
--cc=alexei.starovoitov@gmail.com \
--cc=bpf@vger.kernel.org \
--cc=gmonaco@redhat.com \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=tglozar@redhat.com \
--cc=tobias.schaffner@siemens.com \
--cc=vmalik@redhat.com \
--cc=wen.yang@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 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.