On Thu, Jan 6, 2022 at 3:52 PM Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote: > > On Thu, 6 Jan 2022 09:40:17 -0800 > Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > > On Thu, Jan 6, 2022 at 5:59 AM Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote: > > > > > > That seems to bind your mind. The program type is just a programing > > > 'model' of the bpf. You can choose the best implementation to provide > > > equal functionality. 'kprobe' in bpf is just a name that you call some > > > instrumentations which can probe kernel code. > > > > No. We're not going to call it "fprobe" or any other name. > > From bpf user's pov it's going to be "multi attach kprobe", > > because this is how everyone got to know kprobes. > > The 99% usage is at the beginning of the funcs. > > When users say "kprobe" they don't care how kernel attaches it. > > The func entry limitation for "multi attach kprobe" is a no-brainer. > > Agreed. I think I might mislead you. From the bpf user pov, it always be > shown as 'multi attached kprobes (but only for the function entry)' > the 'fprobe' is kernel internal API name. > > > And we need both "multi attach kprobe" and "multi attach kretprobe" > > at the same time. It's no go to implement one first and the other > > some time later. > > You can provide the interface to user space, but the kernel implementation > is optimized step by step. We can start it with using real multiple > kretprobes, and then, switch to 'fprobe' after integrating fgraph > callback. :) Sounds good to me. My point was that users often want to say: "profile speed of all foo* functions". To perform such a command a tracer would need to attach kprobes and kretprobes to all such functions. The speed of attach/detach has to be fast. Currently tracers artificially limit the regex just because attach/detach is so slow that the user will likely Ctrl-C instead of waiting for many seconds.