Re: [PATCH v15 00/19] tracing: fprobe: function_graph: Multi-function graph and fprobe on fgraph

From: Andrii Nakryiko
Date: Wed Sep 18 2024 - 17:23:03 EST


On Sun, Sep 15, 2024 at 11:09 AM Masami Hiramatsu (Google)
<mhiramat@xxxxxxxxxx> wrote:
>
> Hi,
>
> Here is the 15th version of the series to re-implement the fprobe on
> function-graph tracer. The previous version is;
>
> https://lore.kernel.org/all/172615368656.133222.2336770908714920670.stgit@devnote2/
>
> This version rebased on Steve's calltime change[1] instead of the last
> patch in the previous series, and adds a bpf patch to add get_entry_ip()
> for arm64. Note that [1] is not included in this series, so please use
> the git branch[2].
>

With LPC and Kernel Recipes back-to-back I won't have time to look
through the code, but I did manage to run some benchmarks tonight, and
they look pretty good now, thanks! Seems like the kprobe regression is
gone, and kretprobes are a bit faster. So, nice work, thanks!

BEFORE
======
kprobe : 25.052 ± 0.032M/s
kprobe-multi : 28.102 ± 0.167M/s
kretprobe : 10.724 ± 0.008M/s
kretprobe-multi: 11.337 ± 0.054M/s

AFTER
=====
kprobe : 25.206 ± 0.026M/s
kprobe-multi : 30.167 ± 0.148M/s
kretprobe : 10.714 ± 0.016M/s
kretprobe-multi: 13.436 ± 0.328M/s

> [1] https://lore.kernel.org/all/20240914214805.779822616@xxxxxxxxxxx/
> [2] https://git.kernel.org/pub/scm/linux/kernel/git/mhiramat/linux.git/log/?h=topic/fprobe-on-fgraph
>

[...]