linux/tools/perf/util
Linus Torvalds 0939bd2fcf perf tools improvements and fixes for Linux v6.16:
perf report/top/annotate TUI:
 
 - Accept the left arrow key as a Zoom out if done on the first column.
 
 - Show if source code toggle status in title, to help spotting bugs with
   the various disassemblers (capstone, llvm, objdump).
 
 - Provide feedback on unhandled hotkeys.
 
 Build:
 
 - Better inform when certain features are not available with warnings in the
   build process and in 'perf version --build-options' or 'perf -vv'.
 
 perf record:
 
 - Improve the --off-cpu code by synthesizing events for switch-out -> switch-in
   intervals using a BPF program. This can be fine tuned using a --off-cpu-thresh
   knob.
 
 perf report:
 
 - Add 'tgid' sort key.
 
 perf mem/c2c:
 
 - Add 'op', 'cache', 'snoop', 'dtlb' output fields.
 
 - Add support for 'ldlat' on AMD IBS (Instruction Based Sampling).
 
 perf ftrace:
 
 - Use process/session specific trace settings instead of messing with
   the global ftrace knobs.
 
 perf trace:
 
 - Implement syscall summary in BPF.
 
 - Support --summary-mode=cgroup.
 
 - Always print return value for syscalls returning a pid.
 
 - The rseq and set_robust_list don't return a pid, just -errno.
 
 perf lock contention:
 
 -  Symbolize zone->lock using BTF.
 
 - Add -J/--inject-delay option to estimate impact on application performance by
   optimization of kernel locking behavior.
 
 perf stat:
 
 - Improve hybrid support for the NMI watchdog warning.
 
 Symbol resolution:
 
 - Handle 'u' and 'l' symbols in /proc/kallsyms, resolving some Rust symbols.
 
 - Improve Rust demangler.
 
 Hardware tracing:
 
 Intel PT:
 
 - Fix PEBS-via-PT data_src.
 
 - Do not default to recording all switch events.
 
 - Fix pattern matching with python3 on the SQL viewer script.
 
 arm64:
 
 - Fixups for the hip08 hha PMU.
 
 Vendor events:
 
 - Update Intel events/metrics files for alderlake, alderlaken, arrowlake,
   bonnell, broadwell, broadwellde, broadwellx, cascadelakex, clearwaterforest,
   elkhartlake, emeraldrapids, grandridge, graniterapids, haswell, haswellx,
   icelake, icelakex, ivybridge, ivytown, jaketown, lunarlake, meteorlake,
   nehalemep, nehalemex, rocketlake, sandybridge, sapphirerapids, sierraforest,
   skylake, skylakex, snowridgex, tigerlake, westmereep-dp, westmereep-sp,
   westmereep-sx.
 
 python support:
 
 - Add support for event counts in the python binding, add a counting.py example.
 
 perf list:
 
 - Display the PMU name associated with a perf metric in JSON.
 
 perf test:
 
 - Hybrid improvements for metric value validation test.
 
 - Fix LBR test by ignoring idle task.
 
 - Add AMD IBS sw filter ana d'ldlat' tests.
 
 - Add 'perf trace --summary-mode=cgroup' test.
 
 - Add tests for the various language symbol demanglers.
 
 Miscellaneous.
 
 - Allow specifying the cpu an event will be tied using '-e event/cpu=N/'.
 
 - Sync various headers with the kernel sources.
 
 - Add annotations to use clang's -Wthread-safety and fix some problems
   it detected.
 
 - Make dump_stack() use perf's symbol resolution to provide better backtraces.
 
 - Intel TPEBS support cleanups and fixes. TPEBS stands for Timed PEBS
   (Precision Event-Based Sampling), that adds timing info, the retirement
   latency of instructions.
 
 - Various memory allocation (some detected by ASAN) and reference counting
   fixes.
 
 - Add a 8-byte aligned PERF_RECORD_COMPRESSED2 to replace PERF_RECORD_COMPRESSED.
 
 - Skip unsupported event types in perf.data files, don't stop when finding one.
 
 - Improve lookups using hashmaps and binary searches.
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCaD9ViwAKCRCyPKLppCJ+
 JzOfAQDXlukhPQyuJ4j1ie0x1QO4jalloMbG1Bkp3hn6yjxafAD9Ha5wr+dwnAj4
 FfxOVqua29r8Htn4aGahXZ0nnlVp9Ac=
 =bwgD
 -----END PGP SIGNATURE-----

Merge tag 'perf-tools-for-v6.16-1-2025-06-03' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools

Pull perf tools updates from Arnaldo Carvalho de Melo:
 "perf report/top/annotate TUI:

   - Accept the left arrow key as a Zoom out if done on the first column

   - Show if source code toggle status in title, to help spotting bugs
     with the various disassemblers (capstone, llvm, objdump)

   - Provide feedback on unhandled hotkeys

  Build:

   - Better inform when certain features are not available with warnings
     in the build process and in 'perf version --build-options' or 'perf -vv'

  perf record:

   - Improve the --off-cpu code by synthesizing events for switch-out ->
     switch-in intervals using a BPF program. This can be fine tuned
     using a --off-cpu-thresh knob

  perf report:

   - Add 'tgid' sort key

  perf mem/c2c:

   - Add 'op', 'cache', 'snoop', 'dtlb' output fields

   - Add support for 'ldlat' on AMD IBS (Instruction Based Sampling)

  perf ftrace:

   - Use process/session specific trace settings instead of messing with
     the global ftrace knobs

  perf trace:

   - Implement syscall summary in BPF

   - Support --summary-mode=cgroup

   - Always print return value for syscalls returning a pid

   - The rseq and set_robust_list don't return a pid, just -errno

  perf lock contention:

   - Symbolize zone->lock using BTF

   - Add -J/--inject-delay option to estimate impact on application
     performance by optimization of kernel locking behavior

  perf stat:

   - Improve hybrid support for the NMI watchdog warning

  Symbol resolution:

   - Handle 'u' and 'l' symbols in /proc/kallsyms, resolving some Rust
     symbols

   - Improve Rust demangler

  Hardware tracing:

  Intel PT:

   - Fix PEBS-via-PT data_src

   - Do not default to recording all switch events

   - Fix pattern matching with python3 on the SQL viewer script

  arm64:

   - Fixups for the hip08 hha PMU

  Vendor events:

   - Update Intel events/metrics files for alderlake, alderlaken,
     arrowlake, bonnell, broadwell, broadwellde, broadwellx,
     cascadelakex, clearwaterforest, elkhartlake, emeraldrapids,
     grandridge, graniterapids, haswell, haswellx, icelake, icelakex,
     ivybridge, ivytown, jaketown, lunarlake, meteorlake, nehalemep,
     nehalemex, rocketlake, sandybridge, sapphirerapids, sierraforest,
     skylake, skylakex, snowridgex, tigerlake, westmereep-dp,
     westmereep-sp, westmereep-sx

  python support:

   - Add support for event counts in the python binding, add a
     counting.py example

  perf list:

   - Display the PMU name associated with a perf metric in JSON

  perf test:

   - Hybrid improvements for metric value validation test

   - Fix LBR test by ignoring idle task

   - Add AMD IBS sw filter ana d'ldlat' tests

   - Add 'perf trace --summary-mode=cgroup' test

   - Add tests for the various language symbol demanglers

  Miscellaneous:

   - Allow specifying the cpu an event will be tied using '-e
     event/cpu=N/'

   - Sync various headers with the kernel sources

   - Add annotations to use clang's -Wthread-safety and fix some
     problems it detected

   - Make dump_stack() use perf's symbol resolution to provide better
     backtraces

   - Intel TPEBS support cleanups and fixes. TPEBS stands for Timed PEBS
     (Precision Event-Based Sampling), that adds timing info, the
     retirement latency of instructions

   - Various memory allocation (some detected by ASAN) and reference
     counting fixes

   - Add a 8-byte aligned PERF_RECORD_COMPRESSED2 to replace
     PERF_RECORD_COMPRESSED

   - Skip unsupported event types in perf.data files, don't stop when
     finding one

   - Improve lookups using hashmaps and binary searches"

* tag 'perf-tools-for-v6.16-1-2025-06-03' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (206 commits)
  perf callchain: Always populate the addr_location map when adding IP
  perf lock contention: Reject more than 10ms delays for safety
  perf trace: Set errpid to false for rseq and set_robust_list
  perf symbol: Move demangling code out of symbol-elf.c
  perf trace: Always print return value for syscalls returning a pid
  perf script: Print PERF_AUX_FLAG_COLLISION flag
  perf mem: Show absolute percent in mem_stat output
  perf mem: Display sort order only if it's available
  perf mem: Describe overhead calculation in brief
  perf record: Fix incorrect --user-regs comments
  Revert "perf thread: Ensure comm_lock held for comm_list"
  perf test trace_summary: Skip --bpf-summary tests if no libbpf
  perf test intel-pt: Skip jitdump test if no libelf
  perf intel-tpebs: Avoid race when evlist is being deleted
  perf test demangle-java: Don't segv if demangling fails
  perf symbol: Fix use-after-free in filename__read_build_id
  perf pmu: Avoid segv for missing name/alias_name in wildcarding
  perf machine: Factor creating a "live" machine out of dwarf-unwind
  perf test: Add AMD IBS sw filter test
  perf mem: Count L2 HITM for c2c statistic
  ...
2025-06-03 15:11:44 -07:00
..
arm-spe-decoder perf arm-spe: Add support for SPE Data Source packet on HiSilicon HIP12 2025-05-27 17:57:58 -03:00
bpf_skel perf trace: Support --summary-mode=cgroup 2025-05-13 18:20:46 -03:00
cs-etm-decoder perf cs-etm: Use new OpenCSD consistency checks 2024-09-24 11:46:46 -07:00
hisi-ptt-decoder perf util: Make util its own library 2024-06-26 11:07:42 -07:00
include perf dwarf-regs: Remove get_arch_regstr code 2024-11-09 08:39:14 -08:00
intel-pt-decoder perf intel-pt: Remove stale build comment 2024-12-18 16:24:33 -03:00
libunwind perf unwind: Use perf_arch_reg_{ip|sp}() to substitute macros 2023-08-16 08:48:06 -03:00
perf-regs-arch perf util: Make util its own library 2024-06-26 11:07:42 -07:00
scripting-engines perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
addr_location.c perf report: Add machine parallelism 2025-02-17 22:00:50 -08:00
addr_location.h perf report: Add latency output field 2025-02-18 14:04:32 -08:00
affinity.c perf tools: Use dedicated non-atomic clear/set bit helpers 2022-12-05 09:29:06 -03:00
affinity.h
amd-sample-raw.c perf tools improvements and fixes for Linux v6.16: 2025-06-03 15:11:44 -07:00
annotate-data.c perf annotate-data: Add annotated_data_type__get_member_name() 2025-03-13 00:19:51 -07:00
annotate-data.h perf annotate-data: Add annotated_data_type__get_member_name() 2025-03-13 00:19:51 -07:00
annotate.c perf ui browser annotate: Don't show the source code view status initially 2025-04-10 10:46:32 -03:00
annotate.h perf ui browser annotate: Don't show the source code view status initially 2025-04-10 10:46:32 -03:00
archinsn.h
arm-spe.c perf arm-spe: Add support for SPE Data Source packet on HiSilicon HIP12 2025-05-27 17:57:58 -03:00
arm-spe.h perf arm-spe: Define metadata header version 2 2024-10-03 15:23:09 -07:00
arm64-frame-pointer-unwind-support.c perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
arm64-frame-pointer-unwind-support.h perf unwind arm64: Remove needless event.h & thread.h includes 2022-10-27 16:37:26 -03:00
auxtrace.c perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
auxtrace.h perf tools: Parse aux-action 2024-12-18 16:24:32 -03:00
block-info.c perf report: Display the branch counter histogram 2024-08-14 10:20:40 -03:00
block-info.h perf report: Display the branch counter histogram 2024-08-14 10:20:40 -03:00
block-range.c perf annotate: Move max_coverage from 'struct annotation' to 'struct annotated_branch' 2023-11-09 13:49:33 -03:00
block-range.h
bpf_counter_cgroup.c perf stat: Constify control data for BPF 2024-09-03 11:43:16 -03:00
bpf_counter.c perf stat: Support inherit events during fork() for bperf 2024-11-01 23:31:08 -07:00
bpf_counter.h perf build: Properly guard libbpf includes 2023-01-10 10:51:39 -03:00
bpf_ftrace.c perf ftrace: Fix latency stats with BPF 2025-03-13 00:18:10 -07:00
bpf_kwork_top.c perf kwork: Make perf_kwork_add_work a callback 2024-12-18 16:24:33 -03:00
bpf_kwork.c perf kwork: Make perf_kwork_add_work a callback 2024-12-18 16:24:33 -03:00
bpf_lock_contention.c perf lock contention: Add -J/--inject-delay option 2025-05-09 14:32:15 -03:00
bpf_map.c perf bpf: Remove redundant check that map is NULL 2024-08-21 11:39:51 -03:00
bpf_map.h perf bpf: No need to include compiler.h when HAVE_LIBBPF_SUPPORT is true 2022-10-27 16:37:26 -03:00
bpf_off_cpu.c perf record --off-cpu: Add --off-cpu-thresh option 2025-05-05 21:51:54 -03:00
bpf-event.c perf bpf: Fix two memory leakages when calling perf_env__insert_bpf_prog_info() 2024-12-10 16:59:32 -03:00
bpf-event.h perf env: Avoid recursively taking env->bpf_progs.lock 2024-01-03 17:54:54 -03:00
bpf-filter.c perf bpf-filter: Return -ENOMEM directly when pfi allocation fails 2024-11-22 13:36:00 -08:00
bpf-filter.h perf bpf-filter: Support pin/unpin BPF object 2024-08-01 12:11:33 -03:00
bpf-filter.l perf bpf-filter: Fix a parsing error with comma 2025-03-24 17:29:58 -07:00
bpf-filter.y perf bpf-filter: Support filtering on cgroups 2024-08-28 18:21:49 -03:00
bpf-trace-summary.c perf trace: Support --summary-mode=cgroup 2025-05-13 18:20:46 -03:00
bpf-utils.c perf bpf: 8 byte align bpil data 2022-06-28 12:05:25 -03:00
bpf-utils.h
branch.c perf callchain: Make display use of branch_type_stat const 2023-10-25 13:38:50 -07:00
branch.h perf script: Add not taken event for branch stack 2025-03-05 09:13:19 -08:00
btf.c perf btf: Make the sigtrap test helper to find a member by name widely available 2024-12-09 17:52:41 -03:00
btf.h perf btf: Make the sigtrap test helper to find a member by name widely available 2024-12-09 17:52:41 -03:00
Build perf symbol-elf: Integrate rust-v0 demangling 2025-05-09 17:00:59 -03:00
build-id.c perf tools: Fix build-id event recording 2024-12-02 12:36:20 -08:00
build-id.h perf buildid-list: Use perf_tool__init 2024-08-12 18:07:10 -03:00
cache.h perf path: Make mkpath thread safe, remove 16384 bytes from .bss 2023-05-28 10:24:14 -03:00
cacheline.c
cacheline.h perf c2c: Add report option to show false sharing in adjacent cachelines 2023-02-16 09:33:45 -03:00
call-path.c
call-path.h
callchain.c perf report: Use map_symbol__copy() when copying callchains 2025-03-07 14:06:56 -08:00
callchain.h perf callchain: Allow symbols to be optional when resolving a callchain 2024-09-10 17:32:47 -03:00
cap.c perf cap: Add __NR_capget to arch/x86 unistd 2024-10-28 13:04:52 -03:00
cap.h perf cap: Tidy up and improve capability testing 2024-08-20 17:53:12 -03:00
cgroup.c perf python: Add parse_events function 2024-12-18 16:24:33 -03:00
cgroup.h perf lock contention: Add -G/--cgroup-filter option 2023-09-12 17:32:00 -03:00
clockid.c
clockid.h
cloexec.c perf util: Remove weak sched_getcpu 2023-03-14 08:29:46 -03:00
cloexec.h
color_config.c perf util: Remove unused perf_color_default_config 2025-03-10 11:31:24 -07:00
color.c perf tools: Remove unused color_fwrite_lines 2024-10-10 23:38:33 -07:00
color.h perf util: Remove unused perf_color_default_config 2025-03-10 11:31:24 -07:00
comm.c Revert "perf thread: Ensure comm_lock held for comm_list" 2025-05-28 12:59:17 -03:00
comm.h
compress.h perf tools: Add LZMA decompression from FILE 2025-03-10 14:37:02 -07:00
config.c perf util: Remove unused perf_config__refresh 2025-03-10 11:31:24 -07:00
config.h perf util: Remove unused perf_config__refresh 2025-03-10 11:31:24 -07:00
copyfile.c
copyfile.h
counts.c perf stat: Remove unused perf_counts.aggr field 2022-10-27 16:37:25 -03:00
counts.h perf stat: Remove unused perf_counts.aggr field 2022-10-27 16:37:25 -03:00
cpu-set-sched.h
cpumap.c perf cpumap: Increment reference count for online cpumap 2025-03-19 16:56:33 -07:00
cpumap.h perf cpumap: Remove refcnt from 'struct cpu_aggr_map' 2024-05-07 18:06:44 -03:00
cputopo.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
cputopo.h perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
cs-etm-base.c perf cs-etm: Move mapping of Trace ID and cpu into helper function 2023-04-04 09:39:56 -03:00
cs-etm.c perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
cs-etm.h perf: cs-etm: Create decoders based on the trace ID mappings 2024-08-29 15:55:24 -03:00
data-convert-bt.c perf evsel: Add/use accessor for tp_format 2024-12-09 17:52:42 -03:00
data-convert-json.c perf evsel: Add/use accessor for tp_format 2024-12-09 17:52:42 -03:00
data-convert.h
data.c perf util: Remove unused perf_data__update_dir 2025-03-10 11:31:24 -07:00
data.h perf util: Remove unused perf_data__update_dir 2025-03-10 11:31:24 -07:00
db-export.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
db-export.h
debug.c perf debug: Avoid stack overflow in recursive error message 2025-03-11 18:55:37 -07:00
debug.h perf annotate-data: Add debug messages 2024-03-21 10:41:28 -03:00
debuginfo.c perf tools: Use symfs when opening debuginfo by path 2025-02-12 19:44:16 -08:00
debuginfo.h perf build: Rename HAVE_DWARF_SUPPORT to HAVE_LIBDW_SUPPORT 2024-10-18 10:17:40 -07:00
demangle-cxx.cpp perf symbol: Avoid memory leak from abi::__cxa_demangle 2023-03-20 12:49:58 -03:00
demangle-cxx.h perf symbol: Move demangling code out of symbol-elf.c 2025-05-28 19:02:58 -03:00
demangle-java.c
demangle-java.h
demangle-ocaml.c
demangle-ocaml.h
demangle-rust-v0.c perf demangle-rust: Add rustc-demangle C demangler 2025-05-09 17:00:05 -03:00
demangle-rust-v0.h perf demangle-rust: Add rustc-demangle C demangler 2025-05-09 17:00:05 -03:00
disasm_bpf.c perf bpf: Move BPF disassembly routines to separate file to avoid clash with capstone bpf headers 2024-08-01 18:54:19 -03:00
disasm_bpf.h perf bpf: Move BPF disassembly routines to separate file to avoid clash with capstone bpf headers 2024-08-01 18:54:19 -03:00
disasm.c perf annotate: Return errors from disasm_line__parse_powerpc() 2025-03-06 16:52:24 -08:00
disasm.h perf disasm: Add e_machine/e_flags to struct arch 2024-11-09 08:39:13 -08:00
dlfilter.c perf script: Move script_fetch_insn to trace-event-scripting.c 2024-12-18 16:24:32 -03:00
dlfilter.h
dso.c perf dso: Minor refactor to allow clang's Wthread-safety analysis 2025-05-21 15:07:13 -03:00
dso.h perf dso: Add support for reading the e_machine type for a dso 2025-03-20 22:58:02 -07:00
dsos.c perf rwsem: Add clang's -Wthread-safety annotations 2025-05-21 15:07:13 -03:00
dsos.h perf dso: Constify dso_id 2024-08-19 14:52:13 -03:00
dump-insn.c perf script: Minimize "not reaching sample" for '-F +brstackinsn' 2024-09-03 12:22:01 -03:00
dump-insn.h perf script: Minimize "not reaching sample" for '-F +brstackinsn' 2024-09-03 12:22:01 -03:00
dwarf-aux.c perf libdw: Remove unnecessary defines 2024-10-18 10:17:40 -07:00
dwarf-aux.h perf libdw: Remove unnecessary defines 2024-10-18 10:17:40 -07:00
dwarf-regs-csky.c perf dwarf-regs: Move csky dwarf-regs out of arch 2024-11-09 08:39:13 -08:00
dwarf-regs-powerpc.c perf dwarf-regs: Move powerpc dwarf-regs out of arch 2024-11-09 08:39:13 -08:00
dwarf-regs-x86.c perf dwarf-regs: Move x86 dwarf-regs out of arch 2024-11-09 08:39:13 -08:00
dwarf-regs.c perf dwarf-regs: Remove get_arch_regstr code 2024-11-09 08:39:14 -08:00
env.c perf cpumap: Reduce cpu size from int to int16_t 2025-02-27 08:47:25 -08:00
env.h perf env: Move arch errno function to only use in env 2024-12-18 16:24:33 -03:00
event.c perf script: Print PERF_AUX_FLAG_COLLISION flag 2025-05-28 15:08:25 -03:00
event.h perf script: Fix typo in branch event mask 2025-03-13 13:19:27 -07:00
events_stats.h perf report: Add latency output field 2025-02-18 14:04:32 -08:00
evlist.c perf evlist: Make uniquifying counter names consistent 2025-05-14 09:36:21 -03:00
evlist.h perf evlist: Make uniquifying counter names consistent 2025-05-14 09:36:21 -03:00
evsel_config.h perf parse-events: Add "cpu" term to set the CPU an event is recorded on 2025-05-12 14:23:19 -03:00
evsel_fprintf.c perf evsel: Add/use accessor for tp_format 2024-12-09 17:52:42 -03:00
evsel_fprintf.h perf script: Add new output field 'dsoff' to print dso offset 2023-05-12 15:21:49 -03:00
evsel.c perf parse-events: Use wildcard processing to set an event to merge into 2025-05-14 09:36:24 -03:00
evsel.h perf parse-events: Use wildcard processing to set an event to merge into 2025-05-14 09:36:24 -03:00
evswitch.c
evswitch.h perf: Various spelling fixes 2023-01-23 10:00:47 -03:00
expr.c perf tools: Add skip check in tool_pmu__event_to_str() 2025-02-10 11:46:30 -08:00
expr.h perf jevents: Add a new expression builtin strcmp_cpuid_str() 2023-08-17 14:12:14 -03:00
expr.l perf expr: Allow NaN to be a valid number 2024-02-13 13:47:08 -08:00
expr.y perf expr: Make YYDEBUG dependent on doing a debug build 2023-09-12 17:46:50 -03:00
find-map.c
fncache.c perf fncache: Switch to using hashmap 2025-05-13 16:36:22 -03:00
fncache.h perf fncache: Switch to using hashmap 2025-05-13 16:36:22 -03:00
ftrace.h perf ftrace latency: allow to hide empty buckets 2025-02-26 13:48:02 -08:00
genelf_debug.c perf jit: Fix incorrect file name in DWARF line table 2023-06-20 22:18:58 -07:00
genelf.c perf build: Rename HAVE_DWARF_SUPPORT to HAVE_LIBDW_SUPPORT 2024-10-18 10:17:40 -07:00
genelf.h perf build: Rename HAVE_DWARF_SUPPORT to HAVE_LIBDW_SUPPORT 2024-10-18 10:17:40 -07:00
generate-cmdlist.sh perf tools: Remove dependency on libaudit 2025-01-10 10:59:42 -03:00
get_current_dir_name.c
get_current_dir_name.h
hashmap.c libbpf: Hashmap interface update to allow both long and void* keys/values 2022-11-09 20:45:14 -08:00
hashmap.h perf tools: Fix possible compiler warnings in hashmap 2024-10-14 12:04:31 -07:00
header.c perf report: Fix a memory leak for perf_env on AMD 2025-03-24 16:22:06 -07:00
header.h perf header: Pass a perf_cpu rather than a PMU to get_cpuid_str 2024-11-16 16:40:30 -03:00
help-unknown-cmd.c perf help: Lower levenshtein penality for deleting character 2024-03-21 13:54:40 -03:00
help-unknown-cmd.h
hisi-ptt.c perf tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
hisi-ptt.h perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet 2022-10-15 10:13:16 -03:00
hist.c perf hist: Hide unused mem stat columns 2025-05-02 15:36:14 -03:00
hist.h perf report: Add 'tgid' sort key 2025-05-13 17:51:32 -03:00
hwmon_pmu.c perf pmu: Change aliases from list to hashmap 2025-05-13 16:36:43 -03:00
hwmon_pmu.h perf test: Fix Hwmon PMU test endianess issue 2025-02-04 17:22:40 -08:00
intel-bts.c perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
intel-bts.h
intel-pt.c perf intel-pt: Fix PEBS-via-PT data_src 2025-05-12 14:18:09 -03:00
intel-pt.h perf pmu: Lazily compute default config 2023-10-17 12:40:50 -07:00
intel-tpebs.c perf intel-tpebs: Avoid race when evlist is being deleted 2025-05-28 10:12:47 -03:00
intel-tpebs.h perf stat: Add mean, min, max and last --tpebs-mode options 2025-04-25 12:31:36 -03:00
intlist.c
intlist.h
iostat.c perf stat: Pass through 'struct outstate' 2022-11-24 09:40:37 -03:00
iostat.h perf stat: Pass through 'struct outstate' 2022-11-24 09:40:37 -03:00
jit.h perf jit: Constify filename argument 2024-08-19 14:51:46 -03:00
jitdump.c perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
jitdump.h
kvm-stat.c perf kvm: Move functions used in util out of builtin 2024-12-18 16:24:32 -03:00
kvm-stat.h perf kvm: Move functions used in util out of builtin 2024-12-18 16:24:32 -03:00
kwork.h perf kwork: Make perf_kwork_add_work a callback 2024-12-18 16:24:33 -03:00
levenshtein.c
levenshtein.h
llvm-c-helpers.cpp perf llvm-add2line: Remove unused symbol_conf.h include 2025-01-08 17:38:32 -03:00
llvm-c-helpers.h perf annotate: LLVM-based disassembler 2024-09-03 10:39:20 -03:00
lock-contention.c perf lock: Move common lock contention code to new file 2024-12-18 16:24:33 -03:00
lock-contention.h perf lock contention: Add -J/--inject-delay option 2025-05-09 14:32:15 -03:00
lzma.c perf tools: Add LZMA decompression from FILE 2025-03-10 14:37:02 -07:00
machine.c perf callchain: Always populate the addr_location map when adding IP 2025-05-31 08:58:30 -03:00
machine.h perf machine: Factor creating a "live" machine out of dwarf-unwind 2025-05-28 09:24:59 -03:00
map_symbol.c perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
map_symbol.h perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
map.c perf inject: Lazy build-id mmap2 event insertion 2024-09-10 17:32:47 -03:00
map.h perf inject: Lazy build-id mmap2 event insertion 2024-09-10 17:32:47 -03:00
maps.c perf record: Fix a asan runtime error in util/maps.c 2025-05-16 17:31:40 -03:00
maps.h perf maps: Locking tidy up of nr_maps 2024-02-12 12:35:41 -08:00
mem-events.c perf mem: Count L2 HITM for c2c statistic 2025-05-27 18:05:28 -03:00
mem-events.h perf mem: Add 'dtlb' output field 2025-05-02 15:36:14 -03:00
mem-info.c perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
mem-info.h perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
mem2node.c
mem2node.h
memswap.c
memswap.h
metricgroup.c perf list: Display the PMU name associated with a perf metric in JSON 2025-05-13 17:06:14 -03:00
metricgroup.h perf metricgroup: Binary search when resolving referred to metrics 2025-05-13 16:36:51 -03:00
mmap.c perf cpumap: Increment reference count for online cpumap 2025-03-19 16:56:33 -07:00
mmap.h perf tools: Deadcode removal 2025-02-10 11:46:02 -08:00
mutex.c perf mutex: Add thread safety annotations 2022-10-04 08:55:20 -03:00
mutex.h perf rwsem: Add clang's -Wthread-safety annotations 2025-05-21 15:07:13 -03:00
namespaces.c perf namespaces: Fixup the nsinfo__in_pidns() return type, its bool 2025-01-08 17:31:06 -03:00
namespaces.h perf namespaces: Fixup the nsinfo__in_pidns() return type, its bool 2025-01-08 17:31:06 -03:00
off_cpu.h perf record --off-cpu: Add --off-cpu-thresh option 2025-05-05 21:51:54 -03:00
ordered-events.c tools: Rename __fallthrough to fallthrough 2023-04-06 21:41:00 -03:00
ordered-events.h perf ordered_events: Add ordered_events__last_flush_time() 2022-07-20 11:07:30 -03:00
parse-branch-options.c perf tools: Add branch counter knob 2023-11-09 13:47:50 -03:00
parse-branch-options.h
parse-events.c perf parse-events: Use wildcard processing to set an event to merge into 2025-05-14 09:36:24 -03:00
parse-events.h perf parse-events: Add "cpu" term to set the CPU an event is recorded on 2025-05-12 14:23:19 -03:00
parse-events.l perf parse-events: Add "cpu" term to set the CPU an event is recorded on 2025-05-12 14:23:19 -03:00
parse-events.y perf tool_pmu: Factor tool events into their own PMU 2024-10-10 23:40:32 -07:00
parse-regs-options.c perf parse-regs: Introduce a weak function arch__sample_reg_masks() 2024-02-15 13:48:36 -08:00
parse-regs-options.h
parse-sublevel-options.c
parse-sublevel-options.h
path.c perf path: Remove unused is_executable_file() 2024-12-23 13:53:08 -03:00
path.h perf path: Remove unused is_executable_file() 2024-12-23 13:53:08 -03:00
perf_api_probe.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
perf_api_probe.h
perf_event_attr_fprintf.c perf tools: Improve handling of hybrid PMUs in perf_event_attr__fprintf 2025-03-11 19:00:50 -07:00
perf_regs.c perf parse-regs: Introduce a weak function arch__sample_reg_masks() 2024-02-15 13:48:36 -08:00
perf_regs.h perf parse-regs: Introduce a weak function arch__sample_reg_masks() 2024-02-15 13:48:36 -08:00
perf-hooks-list.h
perf-hooks.c
perf-hooks.h
PERF-VERSION-GEN perf tools: Don't include signature in version strings 2023-01-02 12:34:06 -03:00
pfm.c perf list: Fix topic and pmu_name argument order 2024-11-13 16:27:35 -03:00
pfm.h perf list: List callback support for libpfm 2022-11-24 10:04:52 -03:00
pmu.c perf pmu: Avoid segv for missing name/alias_name in wildcarding 2025-05-28 10:12:47 -03:00
pmu.h perf pmu: Change aliases from list to hashmap 2025-05-13 16:36:43 -03:00
pmu.l perf pmu: Make parser reentrant 2023-04-06 21:40:28 -03:00
pmu.y perf pmu: Add YYDEBUG 2023-09-12 17:47:00 -03:00
pmus.c perf pmu: Use available core PMU for raw events 2025-05-09 14:44:44 -03:00
pmus.h perf util: Remove unused perf_pmus__default_pmu_name 2025-03-10 11:31:24 -07:00
print_binary.c
print_binary.h
print_insn.c perf annotate: Use capstone_init and remove open_capstone_handle from disasm.c 2024-07-31 16:12:59 -03:00
print_insn.h perf annotate: Use capstone_init and remove open_capstone_handle from disasm.c 2024-07-31 16:12:59 -03:00
print-events.c perf tool_pmu: Factor tool events into their own PMU 2024-10-10 23:40:32 -07:00
print-events.h perf list: Display the PMU name associated with a perf metric in JSON 2025-05-13 17:06:14 -03:00
probe-event.c perf probe: Rename err label 2025-01-14 14:57:19 -03:00
probe-event.h perf probe: Replace unacceptable characters when generating event name 2024-12-10 15:41:10 -03:00
probe-file.c perf: Remove unused del_perf_probe_events() 2024-11-16 17:07:31 -03:00
probe-file.h perf: Remove unused del_perf_probe_events() 2024-11-16 17:07:31 -03:00
probe-finder.c perf probe: Pick the correct dwarf die while adding probe points 2025-02-26 14:25:14 -08:00
probe-finder.h perf probe: Pick the correct dwarf die while adding probe points 2025-02-26 14:25:14 -08:00
pstack.c perf util: Remove unused pstack__pop 2025-03-10 11:31:24 -07:00
pstack.h perf util: Remove unused pstack__pop 2025-03-10 11:31:24 -07:00
python.c perf python: Add evlist close support 2025-05-22 22:24:58 -03:00
rblist.c
rblist.h
record.c perf cpumap: Clean up use of perf_cpu_map__has_any_cpu_or_is_empty 2024-03-21 10:41:28 -03:00
record.h perf record --off-cpu: Add --off-cpu-thresh option 2025-05-05 21:51:54 -03:00
rlimit.c perf evsel: Rename evsel__increase_rlimit to rlimit__increase_nofile 2023-10-25 10:02:11 -07:00
rlimit.h perf evsel: Rename evsel__increase_rlimit to rlimit__increase_nofile 2023-10-25 10:02:11 -07:00
rwsem.c perf rwsem: Add clang's -Wthread-safety annotations 2025-05-21 15:07:13 -03:00
rwsem.h perf rwsem: Add clang's -Wthread-safety annotations 2025-05-21 15:07:13 -03:00
s390-cpumcf-kernel.h perf report: Add s390 raw data interpretation for PAI counters 2023-11-15 12:51:53 -05:00
s390-cpumsf-kernel.h
s390-cpumsf.c perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
s390-cpumsf.h
s390-sample-raw.c perf color: Add printf format checking and resolve issues 2024-10-17 12:44:26 -07:00
sample-raw.c
sample-raw.h
sample.c perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
sample.h perf hist: Shrink struct hist_entry size 2025-02-18 14:04:32 -08:00
session.c perf record: Add 8-byte aligned event type PERF_RECORD_COMPRESSED2 2025-05-16 17:31:40 -03:00
session.h perf report: Add parallelism sort key 2025-02-17 22:00:50 -08:00
setns.c
setup.py perf python: Fix setup.py mypy errors 2025-03-24 09:38:20 -07:00
sharded_mutex.c perf sharded_mutex: Introduce sharded_mutex 2023-06-20 17:03:43 -07:00
sharded_mutex.h perf sharded_mutex: Introduce sharded_mutex 2023-06-20 17:03:43 -07:00
sideband_evlist.c perf evlist: Rename cpus to user_requested_cpus 2022-04-01 16:19:35 -03:00
smt.c perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
smt.h perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
sort.c perf report: Add 'tgid' sort key 2025-05-13 17:51:32 -03:00
sort.h perf report: Add 'tgid' sort key 2025-05-13 17:51:32 -03:00
spark.c
spark.h
srccode.c perf fncache: Switch to using hashmap 2025-05-13 16:36:22 -03:00
srccode.h
srcline.c perf report: Support LLVM for addr2line() 2024-09-03 10:15:16 -03:00
srcline.h perf srcline: Add a timeout to reading from addr2line 2023-06-14 18:19:06 -03:00
stat-display.c perf parse-events: Use wildcard processing to set an event to merge into 2025-05-14 09:36:24 -03:00
stat-shadow.c perf stat: Fix find_stat for mixed legacy/non-legacy events 2025-01-29 14:06:25 -08:00
stat.c perf parse-events: Use wildcard processing to set an event to merge into 2025-05-14 09:36:24 -03:00
stat.h perf stat: Remove print_mixed_hw_group_error 2025-05-08 12:46:23 -03:00
strbuf.c
strbuf.h
stream.c perf stream: Use evsel rather than evsel->idx 2024-12-23 13:53:08 -03:00
stream.h perf stream: Use evsel rather than evsel->idx 2024-12-23 13:53:08 -03:00
strfilter.c tools: Rename __fallthrough to fallthrough 2023-04-06 21:41:00 -03:00
strfilter.h
string.c perf string: Avoid undefined NULL+1 2024-12-12 15:53:36 -03:00
string2.h perf string: Add strpbrk_esq() and strdup_esq() for escape and quote 2024-11-14 16:56:32 -03:00
strlist.c
strlist.h
svghelper.c perf cpumap: Reduce transitive dependencies on libperf MAX_NR_CPUS 2024-12-09 17:52:41 -03:00
svghelper.h
symbol_conf.h perf report: Add --latency flag 2025-02-18 14:04:32 -08:00
symbol_fprintf.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
symbol-elf.c perf symbol: Move demangling code out of symbol-elf.c 2025-05-28 19:02:58 -03:00
symbol-minimal.c perf symbol: Move demangling code out of symbol-elf.c 2025-05-28 19:02:58 -03:00
symbol.c perf symbol: Move demangling code out of symbol-elf.c 2025-05-28 19:02:58 -03:00
symbol.h perf mem-info: Move mem-info out of mem-events and symbol 2024-05-07 18:06:44 -03:00
symsrc.h perf symbols: Allow for static executables with .plt 2023-02-01 21:51:51 -03:00
synthetic-events.c perf events: Remove scandir in thread synthesis 2025-02-24 15:46:33 -08:00
synthetic-events.h perf inject: Add new mmap2-buildid-all option 2024-09-10 17:32:47 -03:00
syscalltbl.c perf syscalltbl: Mask off ABI type for MIPS system calls 2025-03-20 22:58:23 -07:00
syscalltbl.h perf syscalltbl: Remove struct syscalltbl 2025-03-20 22:57:57 -07:00
target.c
target.h perf stat: Support inherit events during fork() for bperf 2024-11-01 23:31:08 -07:00
term.c
term.h
thread_map.c perf thread_map: Skip exited threads when scanning /proc 2024-02-22 09:11:03 -08:00
thread_map.h perf thread_map: Reduce exposure of libperf internal API 2022-11-16 12:17:15 -03:00
thread-stack.c x86/retpoline,kprobes: Skip optprobe check for indirect jumps with retpolines and IBT 2023-08-14 11:46:51 +02:00
thread-stack.h
thread.c perf callchain: Always populate the addr_location map when adding IP 2025-05-31 08:58:30 -03:00
thread.h perf callchain: Always populate the addr_location map when adding IP 2025-05-31 08:58:30 -03:00
threads.c perf tools: Remove unnecessary parentheses 2024-10-14 12:04:31 -07:00
threads.h perf threads: Reduce table size from 256 to 8 2024-03-03 22:52:13 -08:00
time-utils.c perf time-utils: Fix 32-bit nsec parsing 2024-09-03 11:21:55 -03:00
time-utils.h
tool_pmu.c perf pmu: Change aliases from list to hashmap 2025-05-13 16:36:43 -03:00
tool_pmu.h perf pmu: Dynamically allocate tool PMU 2025-02-26 16:23:47 -08:00
tool.c perf record: Add 8-byte aligned event type PERF_RECORD_COMPRESSED2 2025-05-16 17:31:40 -03:00
tool.h perf tool: Remove perf_tool__fill_defaults() 2024-08-12 18:13:58 -03:00
top.c perf top: Avoid repeated function calls to perf_cpu_map__nr(). 2023-12-18 21:34:39 -03:00
top.h perf top: Convert to the global annotation_options 2023-12-07 16:47:55 -03:00
topdown.c perf stat: Implement --topdown using json metrics 2023-02-19 08:07:24 -03:00
topdown.h perf stat: Implement --topdown using json metrics 2023-02-19 08:07:24 -03:00
trace_augment.h perf trace: Pretty print buffer data 2024-09-10 09:52:13 -03:00
trace-event-info.c perf trace-event-info: Avoid passing NULL value to closedir 2023-10-12 10:01:57 -07:00
trace-event-parse.c perf trace-event: Constify print arguments 2024-12-09 17:52:42 -03:00
trace-event-read.c perf build: Include libtraceevent headers directly indicated by pkg-config 2024-11-08 22:42:57 -08:00
trace-event-scripting.c perf script: Fix typo in branch event mask 2025-03-13 13:19:27 -07:00
trace-event.c perf build: Include libtraceevent headers directly indicated by pkg-config 2024-11-08 22:42:57 -08:00
trace-event.h perf script: Make printing flags reliable 2025-03-05 09:13:19 -08:00
trace.h perf trace: Support --summary-mode=cgroup 2025-05-13 18:20:46 -03:00
tracepoint.c perf tracepoint: Don't scan all tracepoints to test if one exists 2024-05-09 18:46:43 -03:00
tracepoint.h perf tracepoint: Don't scan all tracepoints to test if one exists 2024-05-09 18:46:43 -03:00
trigger.h
tsc.c perf tools: Fix typos Muliplier -> Multiplier 2024-11-13 16:27:35 -03:00
tsc.h perf tool_pmu: Move expr literals to tool_pmu 2024-10-10 23:40:32 -07:00
units.c perf units: Fix insufficient array space 2025-03-13 00:30:08 -07:00
units.h
unwind-libdw.c perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
unwind-libdw.h perf unwind: Don't show unwind error messages when augmenting frame pointer stack 2022-04-09 12:34:29 -03:00
unwind-libunwind-local.c perf libunwind arm64: Fix missing close parens in an if statement 2025-04-10 17:51:31 -07:00
unwind-libunwind.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
unwind.h perf unwind: Use perf_arch_reg_{ip|sp}() to substitute macros 2023-08-16 08:48:06 -03:00
usage.c perf usage: Move usage strings 2023-04-10 19:20:53 -03:00
util.c perf util: Remove kernel version deadcode 2024-11-16 16:30:39 -03:00
util.h perf util: Remove kernel version deadcode 2024-11-16 16:30:39 -03:00
values.c perf values: Use evsel rather than evsel->idx 2024-12-23 13:53:08 -03:00
values.h perf values: Use evsel rather than evsel->idx 2024-12-23 13:53:08 -03:00
vdso.c perf vdso: Missed put on 32-bit dsos 2024-09-27 15:38:52 -03:00
vdso.h
zlib.c
zstd.c perf mmap: Lazily initialize zstd streams to save memory when not using it 2023-11-28 14:25:06 -03:00