Re: [PATCH] perf report: Do not process non-JIT BPF ksymbol events

From: Song Liu
Date: Wed Mar 05 2025 - 23:09:28 EST


On Wed, Mar 5, 2025 at 3:28 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
>
> The length of PERF_RECORD_KSYMBOL for BPF is a size of JITed code so
> it'd be 0 when it's not JITed. The ksymbol is needed to symbolize the
> code when it gets samples in the region but non-JITed code cannot get
> samples. Thus it'd be ok to ignore them.
>
> Actually it caused a performance issue in the perf tools on old ARM
> kernels where it can refuse to JIT some BPF codes. It ended up
> splitting the existing kernel map (kallsyms). And later lookup for a
> kernel symbol would create a new kernel map from kallsyms and then
> split it again and again. :(
>
> Probably there's a bug in the kernel map/symbol handling in perf tools.
> But I think we need to fix this anyway.
>
> Reported-by: Kevin Nomura <nomurak@xxxxxxxxxx>
> Cc: Song Liu <song@xxxxxxxxxx>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Acked-by: Song Liu <song@xxxxxxxxxx>