On Thu, 17 Feb 2022 14:01:30 -0800 Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> wrote: > > > Is there any chance to support this fast multi-attach for uprobe? If > > > yes, we might want to reuse the same link for both (so should we name > > > it more generically? > > > > There is no interface to do that but also there is no limitation to > > expand uprobes. For the kprobes, there are some limitations for the > > function entry because it needs to share the space with ftrace. So > > I introduced fprobe for easier to use. > > > > > on the other hand BPF program type for uprobe is > > > BPF_PROG_TYPE_KPROBE anyway, so keeping it as "kprobe" also would be > > > consistent with what we have today). > > > > Hmm, I'm not sure why BPF made such design choice... (Uprobe needs > > the target program.) > > > > We've been talking about sleepable uprobe programs, so we might need > to add uprobe-specific program type, probably. But historically, from > BPF point of view there was no difference between kprobe and uprobe > programs (in terms of how they are run and what's available to them). > From BPF point of view, it was just attaching BPF program to a > perf_event. Got it, so that will reuse the uprobe_events in ftrace. But I think the uprobe requires a "path" to the attached binary, how is it specified? > > > But yeah, the main question is whether there is something preventing > > > us from supporting multi-attach uprobe as well? It would be really > > > great for USDT use case. > > > > Ah, for the USDT, it will be useful. But since now we will have "user-event" > > which is faster than uprobes, we may be better to consider to use it. > > Any pointers? I'm not sure what "user-event" refers to. Here is the user-events series, which allows user program to define raw dynamic events and it can write raw event data directly from user space. https://lore.kernel.org/all/20220118204326.2169-1-beaub@xxxxxxxxxxxxxxxxxxx/ Thank you, -- Masami Hiramatsu <mhiramat@xxxxxxxxxx>