[BUG] perf top reports not being able to resolve kernel symbols
From: Arnaldo Carvalho de Melo
Date: Thu Jan 02 2025 - 13:41:47 EST
While investigating a report by Christophe I stumbled on this:
⬢ [acme@toolbox perf-tools-next]$ git bisect bad
77b004f4c5c3c90b20ad61c5fa2ba7d494c1dba1 is the first bad commit
commit 77b004f4c5c3c90b20ad61c5fa2ba7d494c1dba1 (HEAD)
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
Date: Thu Sep 12 15:42:08 2024 -0700
perf symbol: Do not fixup end address of labels
⬢ [acme@toolbox perf-tools-next]$ git tag --contains 77b004f4c5c3c90b20ad61c5fa2ba7d494c1dba1 | grep ^v6
v6.13-rc1
v6.13-rc2
v6.13-rc3
v6.13-rc4
v6.13-rc5
⬢ [acme@toolbox perf-tools-next]$
⬢ [acme@toolbox perf-tools-next]$ git merge perf-tools/perf-tools
Already up to date.
⬢ [acme@toolbox perf-tools-next]$ git merge perf-tools/tmp.perf-tools
Already up to date.
⬢ [acme@toolbox perf-tools-next]$
Running just:
# perf top --stdio
PerfTop: 0 irqs/sec kernel: 0.0% exact: 0.0% lost: 0/0 drop: 0/0 [cpu_atom/cycles/P], (all, 28 CPUs)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Warning:
A vmlinux file was not found.
Kernel samples will not be resolved.
^C^C^C^Z
[1]+ Stopped perf top --stdio
root@number:/home/acme/git/pahole#
But kernel addresses are being used and there is a matching vmlinux:
# pahole --running_kernel_vmlinux
/lib/modules/6.13.0-rc2/build/vmlinux
#
root@number:/home/acme/git/pahole# file /lib/modules/6.13.0-rc2/build/vmlinux
/lib/modules/6.13.0-rc2/build/vmlinux: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=d6f220b80bb50b35238aec50ed10f98df58849c0, with debug_info, not stripped
root@number:/home/acme/git/pahole# perf buildid-list --kernel
d6f220b80bb50b35238aec50ed10f98df58849c0
root@number:/home/acme/git/pahole#
root@number:/home/acme/git/pahole# perf buildid-list -h --kernel
Usage: perf buildid-list [<options>]
-k, --kernel Show current kernel build id
root@number:/home/acme/git/pahole#
I'm trying to figure this out now.
- Arnaldo