On Mon, 26 Oct 2020 21:30:14 -0700 Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > Direct calls wasn't added so that bpf and ftrace could co-exist, it was > > that for certain cases, bpf wanted a faster way to access arguments, > > because it still worked with ftrace, but the saving of regs was too > > strenuous. > > Direct calls in ftrace were done so that ftrace and trampoline can co-exist. > There is no other use for it. What does that even mean? And I'm guessing when you say "trampoline" you mean a "bpf trampoline" because "trampoline" is used for a lot more than bpf, and bpf does not own that term. Do you mean, "direct calls in ftrace were done so that bpf trampolines could work". Remember, ftrace has a lot of users, and it must remain backward compatible. -- Steve