On Thu, 3 Feb 2022 18:12:11 -0800 Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > No, fprobe is NOT kprobe on ftrace, kprobe on ftrace is already implemented > > transparently. > > Not true. > fprobe is nothing but _explicit_ kprobe on ftrace. > There was an implicit optimization for kprobe when ftrace > could be used. > All this new interface is doing is making it explicit. > So a new name is not warranted here. > > > from that viewpoint, fprobe and kprobe interface are similar but different. > > What is the difference? > I don't see it. IIUC, a kprobe on a function (or ftrace, aka fprobe) gives some extra abilities that a normal kprobe does not. Namely, "what is the function parameters?" You can only reliably get the parameters at function entry. Hence, by having a probe that is unique to functions as supposed to the middle of a function, makes sense to me. That is, the API can change. "Give me parameter X". That along with some BTF reading, could figure out how to get parameter X, and record that. -- Steve