]> Gentwo Git Trees - linux/.git/commit
tracing: Add an option to show symbols in _text+offset for function profiler
authorMasami Hiramatsu (Google) <mhiramat@kernel.org>
Fri, 31 Oct 2025 02:46:20 +0000 (11:46 +0900)
committerMasami Hiramatsu (Google) <mhiramat@kernel.org>
Tue, 4 Nov 2025 12:44:18 +0000 (21:44 +0900)
commit1149fcf75972f6918aeb05303b1aa1e38e0df6eb
tree0768f48597f32eb25caead4eb85f919b66c23e2d
parentbbec8e28cac5928c20052c489cb2e345e6bd4271
tracing: Add an option to show symbols in _text+offset for function profiler

Function profiler shows the hit count of each function using its symbol
name. However, there are some same-name local symbols, which we can not
distinguish.
To solve this issue, this introduces an option to show the symbols
in "_text+OFFSET" format. This can avoid exposing the random shift of
KASLR. The functions in modules are shown as "MODNAME+OFFSET" where the
offset is from ".text".

E.g. for the kernel text symbols, specify vmlinux and the output to
 addr2line, you can find the actual function and source info;

  $ addr2line -fie vmlinux _text+3078208
  __balance_callbacks
  kernel/sched/core.c:5064

for modules, specify the module file and .text+OFFSET;

  $ addr2line -fie samples/trace_events/trace-events-sample.ko .text+8224
  do_simple_thread_func
  samples/trace_events/trace-events-sample.c:23

Link: https://lore.kernel.org/all/176187878064.994619.8878296550240416558.stgit@devnote2/
Suggested-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
kernel/trace/ftrace.c
kernel/trace/trace.c
kernel/trace/trace.h