Re: [PATCH 1/1 perf-tools-next] perf top: Don't complain about lack of vmlinux when not resolving some kernel samples

From: Arnaldo Carvalho de Melo
Date: Wed Jan 08 2025 - 15:20:26 EST


On Mon, Jan 06, 2025 at 01:04:45PM -0800, Namhyung Kim wrote:
> Hi Arnaldo,
>
> On Fri, Jan 03, 2025 at 01:47:19PM -0300, Arnaldo Carvalho de Melo wrote:
> > Recently we got a case where a kernel sample wasn't being resolved due
> > to a bug that was not setting the end address on kernel functions
> > implemented in assembly (see Link: tag), and then those were not being
> > found by machine__resolve() -> map__find_symbol().
> >
> > So we ended up with:
> >
> > # perf top --stdio
> > PerfTop: 0 irqs/s kernel: 0% exact: 0% lost: 0/0 drop: 0/0 [cycles/P]
> > -----------------------------------------------------------------------
> >
> > Warning:
> > A vmlinux file was not found.
> > Kernel samples will not be resolved.
> > ^Z
> > [1]+ Stopped perf top --stdio
> > #
> >
> > But then resolving all other kernel symbols.
> >
> > So just fixup the logic to only print that warning when there are no
> > symbols in the kernel map.
> >
> > Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> > Cc: Ian Rogers <irogers@xxxxxxxxxx>
> > Cc: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
> > Cc: James Clark <james.clark@xxxxxxxxxx>
> > Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> > Cc: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
> > Link: https://lore.kernel.org/lkml/Z3buKhcCsZi3_aGb@x1
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxxx>
>
> Looks like an old bug since d88205db9caa0e9d ("perf dso: Add
> dso__has_symbols() method"). :)

Agreed, logic inversion, I'm adding the Fixes tag, thanks for finding
it!

- Arnaldo