Re: [PATCH v1] perf doc: Improve perf trace's doc on --force-btf option

From: Namhyung Kim
Date: Wed Mar 26 2025 - 14:15:04 EST


Hello,

On Wed, Mar 26, 2025 at 09:04:16AM -0700, Howard Chu wrote:
> As mentioned by Arnaldo in a past discussion (Link:
> https://lore.kernel.org/linux-perf-users/Z2m0pWiQgZNXhvxK@x1/), the
> current documentation on --force-btf is vague and inaccurate, this patch
> aims to provide a clearer explanation of the option.
>
> Signed-off-by: Howard Chu <howardchu95@xxxxxxxxx>
> Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> ---
> tools/perf/Documentation/perf-trace.txt | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tools/perf/Documentation/perf-trace.txt b/tools/perf/Documentation/perf-trace.txt
> index 887dc37773d0..cf2445d2ba3d 100644
> --- a/tools/perf/Documentation/perf-trace.txt
> +++ b/tools/perf/Documentation/perf-trace.txt
> @@ -246,10 +246,10 @@ the thread executes on the designated CPUs. Default is to monitor all CPUs.
> arguments to strings (pid to comm, syscall id to syscall name, etc).
>
> --force-btf::
> - Use btf_dump to pretty print syscall argument data, instead of using hand-crafted pretty
> - printers. This option is intended for testing BTF integration in perf trace. btf_dump-based
> - pretty-printing serves as a fallback to hand-crafted pretty printers, as the latter can
> - better pretty-print integer flags and struct pointers.
> + Use libbpf's btf_dump to pretty print syscall arguments, utilizing only the debug
> + information from BTF. This option is intended for testing BTF integration in perf
> + trace. Using libbpf is a fallback to perf trace's own prettifiers generated from the
> + kernel source, as the latter can better pretty-print integer flags and struct members.

"the latter" means our own prettifier, right? Then why do we need the
fallback as it's better and always works?

Thanks,
Namhyung

>
> PAGEFAULTS
> ----------
> --
> 2.45.2
>