On Wed, Aug 23, 2023 at 5:15 PM Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> wrote: > > Hi, > > Here is the 4th version of the series to use ftrace_regs instead of pt_regs > in fprobe. > The previous version is here; > > https://lore.kernel.org/all/169181859570.505132.10136520092011157898.stgit@devnote2/ > > This version fixes the issues pointed in the previous series; fix document > description, keep CONFIG_FPROBE dependency for multi-kprobe, add > static_assert check for ftrace_regs size, reorder the ftrace_partial_regs() > patch for perf fprobe event support, introduce per-cpu pt_regs stack for > perf fprobe event and add Florent's Ack (Thanks!). Also this adds a new > documentation patch to clarify that the $argN and $retval is best effort. > > - Document fix for the current fprobe callback prototype > - Simply replace pt_regs in fprobe_entry_handler with ftrace_regs. > - Expose ftrace_regs even if CONFIG_FUNCTION_TRACER=n. > - Introduce ftrace_partial_regs(). (This changes ARM64 which needs a custom > implementation) > - Replace pt_regs in rethook and fprobe_exit_handler with ftrace_regs. This > introduce a new HAVE_PT_REGS_TO_FTRACE_REGS_CAST which means ftrace_regs is > just a wrapper of pt_regs (except for arm64, other architectures do this) > - Update fprobe-events to use ftrace_regs natively. > - Update bpf multi-kprobe handler use ftrace_partial_regs(). > - Update document for new fprobe callbacks. > - Add notes for the $argN and $retval. > > This series can be applied against the probes/core branch on linux-trace tree. > > This series can also be found below branch. > > https://git.kernel.org/pub/scm/linux/kernel/git/mhiramat/linux.git/log/?h=topic/fprobe-ftrace-regs > > Thank you, FWIW, I verified that I could implement BPF multi_kprobe on arm64 on top of this series so the BPF multi_kprobe usecase is tested but I haven't tested the "trace_fprobe" or perf use cases.