linux/tools/perf/python
Ian Rogers 279b402e51 perf python: Port arm-cs-trace-disasm to perf module
Port arm-cs-trace-disasm.py to a standalone script in tools/perf/python/
using the perf module directly.

Improvements compared to the legacy script:
- Encapsulate trace disassembly state in a TraceDisasm class.
- Default to itrace="b" when creating perf.session() (overridable via
  --itrace or PERF_ITRACE) so all CoreSight branch samples are
  synthesized without requiring --itrace=b on the command line.
- Automatically search standard kernel debug paths (find_vmlinux())
  when -k/--vmlinux is not specified, and query
  perf.config_get("annotate.objdump") for the default objdump binary.
- Bound DISASM_CACHE memory consumption by evicting the cache at 1024
  entries and skipping caching of oversized (> 512 lines) objdump
  outputs.
- Use sample.srccode() from the perf extension module to annotate
  disassembly output with source filenames, line numbers, and source
  lines.

Update the ARM CoreSight disassembly shell test
(test_arm_coresight_disasm.sh) to invoke the standalone script.

Assisted-by: Antigravity:gemini-3.1-pro
Reviewed-by: James Clark <james.clark@linaro.org>
Signed-off-by: Ian Rogers <irogers@google.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2026-09-26 20:49:30 +02:00
..
arm-cs-trace-disasm.py perf python: Port arm-cs-trace-disasm to perf module 2026-09-26 20:49:30 +02:00
check-perf-trace.py perf python: Port check-perf-trace to perf module 2026-09-26 20:49:30 +02:00
compaction-times.py perf python: Port compaction-times to perf module 2026-09-26 20:49:30 +02:00
counting.py perf python: Improve perf script -l descriptions 2026-09-26 20:49:27 +02:00
event_analyzing_sample.py perf python: Port event_analyzing_sample to perf module 2026-09-26 20:49:29 +02:00
failed-syscalls-by-pid.py perf python: Port failed-syscalls-by-pid to perf module 2026-09-26 20:49:29 +02:00
failed-syscalls.py perf python: Port failed-syscalls from Perl to perf module 2026-09-26 20:49:29 +02:00
flamegraph.py perf python: Port flamegraph to perf module 2026-09-26 20:49:28 +02:00
futex-contention.py perf python: Port futex-contention to perf module 2026-09-26 20:49:29 +02:00
gecko.py perf python: Port gecko to perf module 2026-09-26 20:49:28 +02:00
ilist.py perf python: Clean up pylint warnings in ilist.py 2026-09-26 20:49:27 +02:00
mem-phys-addr.py perf python: Port mem-phys-addr to perf module 2026-09-26 20:49:28 +02:00
net_dropmonitor.py perf python: Port net_dropmonitor to perf module 2026-09-26 20:49:30 +02:00
netdev-times.py perf python: Port netdev-times to perf module 2026-09-26 20:49:30 +02:00
perf_live.py perf python: Allow KeyboardInterrupt to propagate in LiveSession 2026-09-26 20:49:27 +02:00
perf.pyi perf python: Add Intel PT call_return and itrace capability 2026-09-26 20:49:27 +02:00
rw-by-file.py perf python: Port rw-by-file from Perl to perf module 2026-09-26 20:49:29 +02:00
rw-by-pid.py perf python: Port rw-by-pid from Perl to perf module 2026-09-26 20:49:29 +02:00
rwtop.py perf python: Port rwtop from Perl to perf module 2026-09-26 20:49:29 +02:00
sched-migration.py perf python: Port sched-migration and SchedGui to perf module 2026-09-26 20:49:30 +02:00
SchedGui.py perf python: Port sched-migration and SchedGui to perf module 2026-09-26 20:49:30 +02:00
sctop.py perf python: Port sctop to perf module 2026-09-26 20:49:29 +02:00
stackcollapse.py perf python: Port stackcollapse to perf module 2026-09-26 20:49:28 +02:00
stat-cpi.py perf python: Port stat-cpi to perf module 2026-09-26 20:49:28 +02:00
syscall-counts-by-pid.py perf python: Port syscall-counts-by-pid to perf module 2026-09-26 20:49:29 +02:00
syscall-counts.py perf python: Port syscall-counts to perf module 2026-09-26 20:49:29 +02:00
task-analyzer.py perf python: Port task-analyzer to perf module 2026-09-26 20:49:30 +02:00
tracepoint.py perf python: Improve perf script -l descriptions 2026-09-26 20:49:27 +02:00
treport.py perf python: Clean up pylint warnings in treport.py 2026-09-26 20:49:27 +02:00
twatch.py perf python: Improve perf script -l descriptions 2026-09-26 20:49:27 +02:00
wakeup-latency.py perf python: Port wakeup-latency from Perl to perf module 2026-09-26 20:49:30 +02:00