Thread (11 messages) flat view 11 messages, 4 authors, 2021-07-08

Re: [PATCH] tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing

From: Andrii Nakryiko <hidden>
Date: 2021-07-07 23:49:43
Also in: bpf, lkml

On Wed, Jul 7, 2021 at 3:45 PM Steven Rostedt [off-list ref] wrote:
On Wed, 7 Jul 2021 15:12:28 -0700
Andrii Nakryiko [off-list ref] wrote:
quoted
There doesn't seem to be anything conceptually wrong with attaching
the same BPF program twice to the same tracepoint. Is it a hard
requirement to have a unique tp+callback combination, or was it done
mostly to detect an API misuse? How hard is it to support such use
cases?

I was surprised to discover this is not supported (though I never had
a use for this, had to construct a test to see the warning).
The callback is identified by the function and its data combination. If
there's two callbacks calling the same function with the same data on
the same tracepoint, one question is, why? And the second is how do you
differentiate the two?
For places where multiple BPF programs can be attached (kprobes,
cgroup programs, etc), we don't put a restriction that all programs
have to be unique. It's totally legal to have the same program
attached multiple times. So having this for tracepoints will be a
one-off behavior.

As for why the user might need that, it's up to the user and I don't
want to speculate because it will always sound contrived without a
specific production use case. But people are very creative and we try
not to dictate how and what can be done if it doesn't break any
fundamental assumption and safety.
-- Steve
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help