]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rtla/timerlat: Add --stack-format option
authorTomas Glozar <tglozar@redhat.com>
Mon, 19 Jan 2026 11:52:21 +0000 (12:52 +0100)
committerTomas Glozar <tglozar@redhat.com>
Wed, 4 Mar 2026 14:51:56 +0000 (15:51 +0100)
commitef59e454156eb068ba3f2d9e14b397fd7953f65a
tree0cc1243c7e7cd7299eece07429ab98be4a91cc58
parent3a4080e5e426352a78f944db0ff29e029d89193b
rtla/timerlat: Add --stack-format option

In the current implementation, the auto-analysis code for printing the
stack captured in the tracefs buffer of the aa instance stops at the
first encountered address that cannot be resolved into a function
symbol.

This is not always the desired behavior on all platforms; sometimes,
there might be resolvable entries after unresolvable ones, and
sometimes, the user might want to inspect the raw pointers for the
unresolvable entries.

Add a new option, --stack-format, with three values:

- truncate: stop at first unresolvable entry. This is the current
  behavior, and is kept as the default.
- skip: skip unresolvable entries, but do not stop on them.
- full: print all entries, including unresolvable ones.

To make this work, the "size" field of the stack entry is now also read
and used as the maximum number of entries to print, capped at 64, since
that is the fixed length of the "caller" field.

Link: https://lore.kernel.org/r/20260119115222.744150-1-tglozar@redhat.com
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
tools/tracing/rtla/src/timerlat.c
tools/tracing/rtla/src/timerlat.h
tools/tracing/rtla/src/timerlat_aa.c
tools/tracing/rtla/src/timerlat_aa.h
tools/tracing/rtla/src/timerlat_hist.c
tools/tracing/rtla/src/timerlat_top.c
tools/tracing/rtla/src/utils.c
tools/tracing/rtla/src/utils.h