linux/tools/perf/util
Ian Rogers f66944587d perf python: Add Intel PT call_return and itrace capability
Add support for Intel PT call_return events and itrace options to the
perf Python extension so standalone Python scripts can decode and
inspect low-level instruction traces.

Specifically:
- Add a call_return callback parameter and itrace option string to
  perf.session, treating explicit None (Py_None) callbacks as omitted.
- Expose the perf.call_return object with db_id, parent_id, insn_count,
  cyc_count, comm, pid, tid, call_time, return_time, branch_count,
  call_ref, return_ref, flags, and call_path (resolved as a
  perf.callchain ordered from outermost caller to callee, populating
  frame->map and frame->sym so call_path entries expose resolved symbol
  and DSO names).
- Export perf.CALL_RETURN_NO_CALL, perf.CALL_RETURN_NO_RETURN, and
  perf.CALL_RETURN_NON_CALL flag constants.
- Expose session.e_machine and session.is_64_bit properties, preferring
  recorded thread ELF machines (perf_session__e_machine) over perf_env
  so pipe-mode traces do not prematurely cache host bitness.
- Support optional vmlinux, kallsyms, and symfs symbol configuration
  parameters (and PERF_SYMBOL_VMLINUX, PERF_SYMBOL_KALLSYMS,
  PERF_SYMBOL_SYMFS environment fallbacks) in perf.session, resetting
  symbol_conf pointers and freeing vm_tm_corr_args, cpu_bitmap, and
  ptime_range in pyrf_session__delete().

Assisted-by: Antigravity:gemini-3.1-pro
Signed-off-by: Ian Rogers <irogers@google.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2026-09-26 20:49:27 +02:00
..
annotate-arch perf annotate: Fix NULL pointer dereference in loongarch_call__parse 2026-09-25 00:55:45 +02:00
arm-spe-decoder perf arm_spe: Print remaining IMPDEF event numbers 2026-05-05 22:04:28 -03:00
bpf_skel perf trace: Refactor augmented_raw_syscalls using bpf_for 2026-07-16 10:57:40 -07:00
cs-etm-decoder perf cs-etm: Queue context packets for frontend 2026-06-10 18:55:48 -03:00
dwarf-regs-arch perf dwarf-regs: Adapt get_dwarf_regnum() for arm64 2026-09-21 08:30:50 +02:00
hisi-ptt-decoder perf hisi-ptt: Fix spelling and abbreviation errors 2026-07-31 15:48:12 -07:00
include perf dwarf-regs: Adapt get_dwarf_regnum() for arm64 2026-09-21 08:30:50 +02:00
intel-pt-decoder perf intel-pt: Fix snprintf size tracking bug in insn decoder 2026-06-10 18:56:01 -03:00
kvm-stat-arch perf kvm: Kill STRDUP_FAIL_EXIT() 2026-07-03 13:40:24 -07:00
libunwind-arch perf unwind-libunwind: Add RISC-V libunwind support 2026-05-15 16:19:50 -03:00
perf-regs-arch perf util: Explicitly include required headers 2026-09-22 14:50:54 +02:00
scripting-engines perf tools: Show memory region in perf-script subcommand 2026-09-24 19:29:45 +02:00
addr_location.c perf map_symbol: Switch from holding maps to holding thread 2026-01-23 16:58:39 -03:00
addr_location.h perf map_symbol: Switch from holding maps to holding thread 2026-01-23 16:58:39 -03:00
addr2line.c perf libdw: Fix Dwfl discovery with split files 2026-09-18 17:23:16 -03:00
addr2line.h perf addr2line: Remove global variable addr2line_timeout_ms 2026-04-08 10:28:49 -07:00
affinity.c libperf cpumap: Make index and nr types unsigned 2026-04-01 14:50:53 -07:00
affinity.h perf test: Expand user space event reading (rdpmc) tests 2025-06-20 13:14:07 -07:00
amd-sample-raw.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
annotate-data.c perf annotate-data: Bound the member nesting recursion 2026-09-25 18:13:51 +02:00
annotate-data.h perf annotate-data: Bound the member nesting recursion 2026-09-25 18:13:51 +02:00
annotate.c perf annotate: Adapt arch__dwarf_regnum() for arm64 2026-09-21 08:30:55 +02:00
annotate.h perf tools: Fix typos in comments 2026-09-25 15:11:36 +02:00
arm-spe.c perf arm-spe: Set default synthesized event period to 1 2026-09-21 08:42:22 +02:00
arm-spe.h perf arm_spe: Add "event_filter" entry in meta data 2025-09-19 12:14:28 -03:00
arm64-frame-pointer-unwind-support.c perf record: Refactor ARM64 leaf caller setup out of arch 2026-05-14 20:50:00 -03:00
arm64-frame-pointer-unwind-support.h perf record: Refactor ARM64 leaf caller setup out of arch 2026-05-14 20:50:00 -03:00
aslr.c perf machine: Add session back pointer to fix out of bounds read 2026-09-25 14:08:40 +02:00
aslr.h perf machine: Add session back pointer to fix out of bounds read 2026-09-25 14:08:40 +02:00
auxtrace.c perf annotate: Default to --itrace=i1i for data type profiling 2026-09-21 08:41:55 +02:00
auxtrace.h perf annotate: Default to --itrace=i1i for data type profiling 2026-09-21 08:41:55 +02:00
blake2s.c perf util: Add BLAKE2s support 2026-01-13 17:03:25 -03:00
blake2s.h perf util: Add BLAKE2s support 2026-01-13 17:03:25 -03:00
block-info.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
block-info.h perf report: Display the branch counter histogram 2024-08-14 10:20:40 -03:00
block-range.c perf tools: Make more global variables static 2026-04-08 19:21:04 -07:00
block-range.h
bpf_counter_cgroup.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
bpf_counter.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
bpf_counter.h perf bpf_counter: Move header declarations into C code 2025-10-01 15:27:02 -03:00
bpf_ftrace.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
bpf_kwork_top.c libperf cpumap: Make index and nr types unsigned 2026-04-01 14:50:53 -07:00
bpf_kwork.c perf kwork: Fix memory management of kwork_work 2026-05-22 20:51:59 -03:00
bpf_lock_contention.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
bpf_off_cpu.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
bpf_trace_augment.c perf trace: Include the headers declaring pid_t, strcmp and assert 2026-09-22 14:59:58 +02:00
bpf-event.c perf bpf: Add PROG_TAGS to required arrays in __bpf_event__print_bpf_prog_info() 2026-08-05 11:20:02 -07:00
bpf-event.h perf bpf: Validate array presence before casting BPF prog info pointers 2026-06-17 09:21:03 -03:00
bpf-filter.c perf cap: Remove used_root parameter and simplify capability checks 2026-07-23 22:46:33 -07:00
bpf-filter.h perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
bpf-filter.l perf mem: Add support for printing PERF_MEM_LVLNUM_L0 2026-09-24 19:25:34 +02: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 beauty: Make beauty generated C code standalone .o files 2026-05-20 17:46:45 -03:00
bpf-utils.c perf bpf: Bounds-check array offsets in bpil_offs_to_addr() 2026-06-17 08:29:00 -03:00
bpf-utils.h perf bpf-event: Use libbpf version rather than feature check 2025-10-03 16:49:51 -03:00
branch.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
branch.h perf branch: Avoid incrementing NULL 2026-03-13 14:13:02 -07:00
btf.c perf bpf: Fix up build failure due to change of btf_vlen() return type 2026-06-22 15:53:34 -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 build: Check the version of the compiler that is used 2026-09-22 14:45:48 +02:00
build-id.c perf symbols: Apply the symfs flat layout to the composed filename 2026-09-25 14:07:01 +02:00
build-id.h perf tool: Remove evsel from tool APIs that pass the sample 2026-05-20 16:34:23 -03:00
c2c-function.c perf c2c: Add stdio support for the function view 2026-09-25 15:25:07 +02:00
c2c.c perf c2c: extract shared data structures into util/c2c.h 2026-08-17 15:07:08 -07:00
c2c.h perf c2c: Add stdio support for the function view 2026-09-25 15:25:07 +02:00
cacheline.c
cacheline.h
call-path.c
call-path.h
callchain.c perf sched: Free callchain nodes in idle thread cleanup 2026-06-06 14:42:19 -03:00
callchain.h perf sched: Free callchain nodes in idle thread cleanup 2026-06-06 14:42:19 -03:00
cap.c perf cap: Remove used_root parameter and simplify capability checks 2026-07-23 22:46:33 -07:00
cap.h perf cap: Remove used_root parameter and simplify capability checks 2026-07-23 22:46:33 -07:00
capstone.c perf capstone: Symbolize address operands to match objdump on arm64 2026-09-21 08:29:47 +02:00
capstone.h perf capstone: Support for dlopen-ing libcapstone.so 2026-02-03 11:34:02 -03:00
cgroup.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
cgroup.h perf stat: Move metric list from config to evlist 2025-07-11 12:36:40 -07:00
clockid.c
clockid.h perf clockid: Add missing include 2026-04-02 19:35:16 -07:00
cloexec.c
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 perf thread: Ensure comm_lock held for comm_list 2025-06-11 13:40:31 -07:00
comm.h
compress.h perf record: Return the written size from process_comp_header() 2026-07-13 13:25:16 -07:00
config.c perf config: Add core.hybrid-merge to configure event merging 2026-09-18 17:37:45 -03:00
config.h perf util: Remove unused perf_config__refresh 2025-03-10 11:31:24 -07:00
copyfile.c
copyfile.h
counts.c
counts.h
cpumap.c perf tools: Use scnprintf() in cpu_map__snprint() to prevent overflow 2026-06-10 11:38:45 -03:00
cpumap.h perf cpumap: Remove refcnt from 'struct cpu_aggr_map' 2024-05-07 18:06:44 -03:00
cputopo.c libperf cpumap: Make index and nr types unsigned 2026-04-01 14:50:53 -07:00
cputopo.h
cs-etm-base.c perf cs-etm: Require full global header in auxtrace_info size check 2026-06-17 09:21:03 -03:00
cs-etm.c perf annotate: Default to --itrace=i1i for data type profiling 2026-09-21 08:41:55 +02:00
cs-etm.h perf cs-etm: Queue context packets for frontend 2026-06-10 18:55:48 -03:00
data-convert-bt.c perf evlist: Add reference count 2026-06-30 10:17:10 -07:00
data-convert-json.c perf data convert json: Fix trace_seq memory leak in process_sample_event() 2026-07-07 23:04:21 -07:00
data-convert.h perf data ctf: replace libbabeltrace with babeltrace2-ctf-writer 2026-06-04 17:34:52 -03:00
data.c perf data: Add open flag 2026-06-30 10:17:10 -07:00
data.h perf data: Add open flag 2026-06-30 10:17:10 -07:00
db-export.c perf db-export: Remove evsel from struct export_sample 2026-05-20 16:35:59 -03:00
db-export.h perf db-export: Remove evsel from struct export_sample 2026-05-20 16:35:59 -03:00
debug.c perf tools: Make more global variables static 2026-04-08 19:21:04 -07:00
debug.h perf debug: Add function symbols to dump_stack 2025-06-25 10:59:19 -07:00
debuginfo.c perf debuginfo: Fix libdw API contract violations 2026-05-05 21:52:51 -03:00
debuginfo.h perf build: Rename HAVE_DWARF_SUPPORT to HAVE_LIBDW_SUPPORT 2024-10-18 10:17:40 -07:00
demangle-cxx.cpp
demangle-cxx.h perf symbol: Move demangling code out of symbol-elf.c 2025-05-28 19:02:58 -03:00
demangle-java.c perf demangle-java: Constify variables storing the result of strchr() on const tables 2026-01-27 02:33:29 -03:00
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.c perf symbols: Apply the symfs flat layout to the composed filename 2026-09-25 14:07:01 +02:00
disasm.h perf annotate: Introduce extract_op_location callback for arch-specific parsing 2026-09-21 08:30:45 +02:00
dlfilter.c perf symbol: Add setters for bitfields sharing a byte to avoid concurrent update issues 2026-06-03 16:53:45 -03:00
dlfilter.h
drm_pmu.c perf pmu: Replace starts_with with strstarts 2026-03-03 17:04:49 -08:00
drm_pmu.h perf drm_pmu: Add a tool like PMU to expose DRM information 2025-06-25 11:12:35 -07:00
dso.c perf symbols: Apply the symfs flat layout to the composed filename 2026-09-25 14:07:01 +02:00
dso.h perf dso: Separate libbfd and cmd addr2line caches to fix confusion 2026-09-18 17:23:59 -03:00
dsos.c perf tools: Replace basename() calls with perf_basename() 2026-04-08 19:21:05 -07:00
dsos.h perf dso: Constify dso_id 2024-08-19 14:52:13 -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 dwarf-aux: Add die_same_file() and die_get_type_die() 2026-09-25 18:13:25 +02:00
dwarf-aux.h perf dwarf-aux: Add die_same_file() and die_get_type_die() 2026-09-25 18:13:25 +02:00
dwarf-regs.c perf dwarf-regs: Adapt get_dwarf_regnum() for arm64 2026-09-21 08:30:50 +02:00
env.c perf header: Support memory ranges 2026-09-24 19:26:03 +02:00
env.h perf header: Support memory ranges 2026-09-24 19:26:03 +02:00
event.c perf tools: Use perf_env__get_cpu_topology() in machine__resolve() 2026-06-10 11:38:45 -03:00
event.h perf sched stats: Add record and rawdump support 2026-01-22 12:29:28 -03:00
events_stats.h perf report: Add latency output field 2025-02-18 14:04:32 -08:00
evlist.c perf evsel: Report an allocation failure as ENOMEM when setting filters 2026-09-22 15:00:48 +02:00
evlist.h perf evlist: Implement evlist__can_merge_hybrid using first_wildcard_match 2026-09-18 17:26:41 -03:00
evsel_config.h perf parse-events: Track all user changed config bits 2026-01-14 23:14:54 -03:00
evsel_fprintf.c perf symbol: Add setters for bitfields sharing a byte to avoid concurrent update issues 2026-06-03 16:53:45 -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 evlist: Don't restrict uncore events to PMU CPUs 2026-09-25 15:29:56 +02:00
evsel.h perf evlist: Implement evlist__can_merge_hybrid using first_wildcard_match 2026-09-18 17:26:41 -03:00
evswitch.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
evswitch.h
expr.c perf test: Fix PMU metric parsing tests for unknown literals 2026-09-25 12:51:49 +02:00
expr.h perf stat: Add aggr_nr metric parser support 2026-06-04 10:58:47 -03:00
expr.l perf stat: Add aggr_nr metric parser support 2026-06-04 10:58:47 -03:00
expr.y perf stat: Add aggr_nr metric parser support 2026-06-04 10:58:47 -03:00
find-map.c perf find-map: Remove PATH_MAX 128-byte stack array restriction 2026-08-07 09:43:36 -07:00
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: add graph tracer options args/retval/retval-hex/retaddr 2025-07-22 17:47:22 -07:00
genelf_debug.c perf genelf: Use unaligned-safe accessors for debug entries 2026-09-03 23:16:07 -03:00
genelf.c perf genelf: Switch from SHA-1 to BLAKE2s for build ID generation 2026-01-13 17:03:28 -03:00
genelf.h perf build: Rename HAVE_DWARF_SUPPORT to HAVE_LIBDW_SUPPORT 2024-10-18 10:17:40 -07:00
hashmap.c
hashmap.h perf tools: Fix possible compiler warnings in hashmap 2024-10-14 12:04:31 -07:00
header.c perf header: Support memory ranges 2026-09-24 19:26:03 +02:00
header.h perf header: Support memory ranges 2026-09-24 19:26:03 +02:00
help-unknown-cmd.c perf tool: Tidy up util/cache.h header file users 2026-09-08 17:50:28 -03:00
hisi-ptt.c perf hisi-ptt: Fix spelling and abbreviation errors 2026-07-31 15:48:12 -07:00
hisi-ptt.h
hist.c perf ui hists: Fix stack use-after-return in symbol_filter_str 2026-07-27 17:13:08 -07:00
hist.h perf ui hist: Add support for aggregated total_period and merging entries 2026-09-18 17:28:52 -03:00
hwmon_pmu.c perf evsel: Restrict incremental open error unwind 2026-09-22 14:41:49 +02:00
hwmon_pmu.h perf tools: Fix duplicated words in documentation and comments 2025-10-01 09:44:02 -03:00
intel-bts.c perf annotate: Default to --itrace=i1i for data type profiling 2026-09-21 08:41:55 +02:00
intel-bts.h
intel-pt.c perf annotate: Default to --itrace=i1i for data type profiling 2026-09-21 08:41:55 +02:00
intel-pt.h perf pmu: Lazily compute default config 2023-10-17 12:40:50 -07:00
intel-tpebs.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07: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 evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
iostat.h perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
jit.h perf jit: Constify filename argument 2024-08-19 14:51:46 -03:00
jitdump.c perf jitdump: Size code_move event allocation with idr_size 2026-09-03 23:16:07 -03:00
jitdump.h perf test: Remove /usr/bin/cc dependency from Intel PT shell test 2026-06-04 11:41:46 -03:00
kvm-stat.c perf kvm: Factor out kvm_need_default_arch_event() 2026-07-03 13:40:23 -07:00
kvm-stat.h perf build: Fix a build error on 32-bit x86 2026-08-02 09:45:18 -07:00
kwork.h perf kwork: Bounds check work->cpu before indexing cpus_runtime[] 2026-05-29 11:44:35 -03:00
levenshtein.c
levenshtein.h
libbfd.c perf libbfd: Include the headers that are used 2026-09-22 14:45:02 +02:00
libbfd.h perf symbol: Fix the build when demangling with libbfd 2026-09-22 14:44:33 +02:00
libdw.c perf libdw: Fix Dwfl discovery with split files 2026-09-18 17:23:16 -03:00
libdw.h perf powerpc: Unify the skip-callchain-idx libdw with that for addr2line 2026-01-20 13:04:38 -03:00
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
llvm.c perf llvm: Fix memory leak of args->fileloc in symbol__disassemble_llvm() 2026-09-25 11:54:02 +02:00
llvm.h perf srcline: Fallback between addr2line implementations 2025-10-06 16:47:49 -03:00
lock-contention.c perf lock-contention: Use perf_env e_machine rather than arch 2026-06-03 16:50:34 -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: Switch printf("...%s", strerror(errno)) to printf("...%m") 2026-01-14 17:22:50 -03:00
machine.c perf machine: Add session back pointer to fix out of bounds read 2026-09-25 14:08:40 +02:00
machine.h perf machine: Add session back pointer to fix out of bounds read 2026-09-25 14:08:40 +02:00
map_symbol.c perf map_symbol: Switch from holding maps to holding thread 2026-01-23 16:58:39 -03:00
map_symbol.h perf map_symbol: Switch from holding maps to holding thread 2026-01-23 16:58:39 -03:00
map.c perf map: Constify objdump offset/address conversion APIs 2025-10-02 15:36:13 -03:00
map.h perf util: Sort includes and add missed explicit dependencies 2026-06-30 10:17:08 -07:00
maps.c perf maps: Add maps__mutate_mapping 2026-06-15 09:01:27 -03:00
maps.h perf maps: Add maps__mutate_mapping 2026-06-15 09:01:27 -03:00
mem-events.c perf tools: Show memory region in perf-script subcommand 2026-09-24 19:29:45 +02:00
mem-events.h perf tools: Show memory region in perf-script subcommand 2026-09-24 19:29:45 +02: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 perf tools: Use calloc() where applicable 2026-04-08 19:21:05 -07:00
mem2node.h
memswap.c
memswap.h
metricgroup.c perf test: Fix PMU metric parsing tests for unknown literals 2026-09-25 12:51:49 +02:00
metricgroup.h perf parse-events: Restrict core PMU bypass to --cputype option 2026-06-30 17:09:13 -07:00
mmap.c perf tools: NULL bitmap pointers after bitmap_free() 2026-06-10 13:13:32 -03:00
mmap.h perf tools: Deadcode removal 2025-02-10 11:46:02 -08:00
mutex.c perf libbfd: Ensure libbfd is initialized prior to use 2025-11-13 17:55:19 -03:00
mutex.h perf libbfd: Ensure libbfd is initialized prior to use 2025-11-13 17:55:19 -03:00
namespaces.c perf namespaces: Avoid get_current_dir_name dependency 2025-10-03 15:28:04 -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 perf ordered-events: Event processing consistency with the regular reader 2026-04-02 19:35:16 -07:00
ordered-events.h
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 evlist: Don't restrict uncore events to PMU CPUs 2026-09-25 15:29:56 +02:00
parse-events.h perf parse-events: Restrict core PMU bypass to --cputype option 2026-06-30 17:09:13 -07:00
parse-events.l perf tools: Add support for perf_event_attr::config4 2025-11-24 12:20:06 -08:00
parse-events.y perf evsel: Add reference count 2026-06-30 10:17:11 -07:00
parse-regs-options.c perf util: Explicitly include required headers 2026-09-22 14:50:54 +02:00
parse-regs-options.h
parse-sublevel-options.c
parse-sublevel-options.h
path.c perf tool: Tidy up util/cache.h header file users 2026-09-08 17:50:28 -03:00
path.h perf tool: Tidy up util/cache.h header file users 2026-09-08 17:50:28 -03:00
perf_api_probe.c perf evlist: Add reference count 2026-06-30 10:17:10 -07:00
perf_api_probe.h
perf_event_attr_fprintf.c perf headers: Sync perf_event.h/perf_regs.h with the kernel headers 2026-09-14 15:32:52 -03:00
perf_regs.c perf regs: Support x86 SIMD registers sampling 2026-09-14 15:34:05 -03:00
perf_regs.h perf regs: Support x86 SIMD registers sampling 2026-09-14 15:34:05 -03:00
perf-hooks-list.h
perf-hooks.c
perf-hooks.h
PERF-VERSION-GEN
pfm.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
pfm.h
pmu.c perf pmu: Include the headers that are used 2026-09-22 14:45:12 +02:00
pmu.h perf evlist: Implement evlist__can_merge_hybrid using first_wildcard_match 2026-09-18 17:26:41 -03:00
pmu.l
pmu.y perf pmu: Add YYDEBUG 2023-09-12 17:47:00 -03:00
pmus.c perf pmu: Recognize default_core as a core PMU in more places 2026-06-30 16:55:58 -07:00
pmus.h perf metricgroup: Avoid scanning unnecessary PMUs for identifier match 2026-05-14 20:59:08 -03:00
powerpc-vpadtl.c perf powerpc-vpadtl: Fix off-by-one in auxtrace_info minimum size check 2026-09-08 17:50:39 -03:00
powerpc-vpadtl.h perf powerpc: Process auxtrace events and display in 'perf report -D' 2025-10-01 11:22:04 -03:00
print_binary.c
print_binary.h
print_insn.c perf print_insn: Use e_machine for fallback IP length check 2026-06-03 16:46:07 -03:00
print_insn.h perf print_insn: Use e_machine for fallback IP length check 2026-06-03 16:46:07 -03:00
print-events.c perf evsel: Add reference count 2026-06-30 10:17:11 -07:00
print-events.h perf print-events: Remove print_symbol_events 2025-10-15 23:59:11 +09:00
probe-event.c perf symbol: Add setters for bitfields sharing a byte to avoid concurrent update issues 2026-06-03 16:53:45 -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/probe: Ignore comment lines in dynamic_events/kprobe_events file 2026-06-30 16:37:49 -07:00
probe-file.h perf: Remove unused del_perf_probe_events() 2024-11-16 17:07:31 -03:00
probe-finder.c perf probe-finder: Fix libdw API contract violations 2026-05-05 21:50:56 -03: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 Intel PT call_return and itrace capability 2026-09-26 20:49:27 +02:00
rblist.c
rblist.h
record.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
record.h perf regs: Support x86 eGPRs/SSP sampling 2026-09-14 15:33:33 -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 evlist: Change env variable to session 2025-07-25 10:37:56 -07:00
s390-cpumsf.h
s390-sample-raw.c perf python: Use evsel in sample in pyrf_event 2026-06-30 10:17:12 -07:00
sample-raw.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
sample-raw.h perf sample-raw: Use perf_env e_machine rather than arch 2026-06-03 16:48:00 -03:00
sample.c perf python: Use evsel in sample in pyrf_event 2026-06-30 10:17:12 -07:00
sample.h perf regs: Enable dumping of SIMD registers 2026-09-14 15:34:43 -03:00
session.c perf machine: Add session back pointer to fix out of bounds read 2026-09-25 14:08:40 +02:00
session.h perf python: Refactor and add accessors to sample event 2026-06-30 10:17:14 -07:00
setns.c
setup.py perf python: Clean up and restructure setup.py 2026-07-23 22:49:39 -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 record: fix poll storm when monitored threads exit 2026-07-07 22:59:07 -07:00
smt.c
smt.h
sort.c perf c2c: Fix error masking, OOM, and unchecked caller errors in hpp_list__parse() 2026-08-05 21:50:45 -07:00
sort.h perf report: Add comm_nodigit sort key 2026-03-26 15:22:18 -07:00
spark.c perf spark: Fix includes and add SPDX 2025-07-11 12:36:40 -07:00
spark.h perf spark: Fix includes and add SPDX 2025-07-11 12:36:40 -07:00
srccode.c perf fncache: Switch to using hashmap 2025-05-13 16:36:22 -03:00
srccode.h
srcline.c perf dso: Separate libbfd and cmd addr2line caches to fix confusion 2026-09-18 17:23:59 -03:00
srcline.h perf srcline: Introduce inline_node__clear_frames() 2026-05-05 21:49:18 -03:00
stat-display.c perf stat: Add --hide-zero-events option to suppress zero-count events 2026-07-19 21:49:30 -07:00
stat-shadow.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
stat.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
stat.h perf stat: Add --hide-zero-events option to suppress zero-count events 2026-07-19 21:49:30 -07:00
strbuf.c perf tool: Tidy up util/cache.h header file users 2026-09-08 17:50:28 -03:00
strbuf.h
stream.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
stream.h perf stream: Use evsel rather than evsel->idx 2024-12-23 13:53:08 -03:00
strfilter.c
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 perf strlist: Remove dont_dupstr logic, used only once 2026-01-27 21:19:24 -03:00
strlist.h perf strlist: Remove dont_dupstr logic, used only once 2026-01-27 21:19:24 -03:00
svghelper.c perf timechart: Fix cpu2y() OOB read on untrusted CPU index 2026-06-06 14:27:52 -03:00
svghelper.h
symbol_conf.h perf config: Add core.hybrid-merge to configure event merging 2026-09-18 17:37:45 -03:00
symbol_fprintf.c perf symbol: Add setters for bitfields sharing a byte to avoid concurrent update issues 2026-06-03 16:53:45 -03:00
symbol-elf.c perf symbols: Skip dynamic symbols with invalid section indexes 2026-08-02 09:44:58 -07:00
symbol-minimal.c perf symbols: Validate p_filesz before use in filename__read_build_id() 2026-06-17 08:25:14 -03:00
symbol.c perf symbol: Fix the build when demangling with libbfd 2026-09-22 14:44:33 +02:00
symbol.h perf symbols: skip livepatch symbols when loading kallsyms 2026-07-03 13:38:08 -07:00
symsrc.h
synthetic-events.c perf synthetic-events: Check schedstat domain allocation failure 2026-09-26 20:29:40 +02:00
synthetic-events.h perf inject: Don't pass evsel with sample 2026-05-20 16:39:40 -03:00
target.c perf target: Remove uid from target 2025-06-09 11:18:18 -07:00
target.h perf target: Constify simple check functions 2026-03-19 14:42:46 -07:00
term.c
term.h
thread_map.c perf strlist: Remove dont_dupstr logic, used only once 2026-01-27 21:19:24 -03:00
thread_map.h perf thread_map: Remove uid options 2025-06-09 11:18:18 -07:00
thread-stack.c perf thread-stack: Fix heap buffer overflow on branch stack wrap copy 2026-08-03 12:42:49 -07:00
thread-stack.h
thread.c perf thread: Free the comm read from procfs 2026-09-25 15:00:03 +02:00
thread.h perf env, dso, thread: Add _endian variants for e_machine helpers 2026-06-03 16:45:21 -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 evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
time-utils.h
tool_pmu.c perf evsel: Restrict incremental open error unwind 2026-09-22 14:41:49 +02:00
tool_pmu.h perf tool_pmu: Make tool PMU events respect enable/disable 2026-05-22 21:37:34 -03:00
tool.c perf session: Check for decompression buffer size overflow 2026-05-29 11:44:34 -03:00
tool.h perf tool: Remove evsel from tool APIs that pass the sample 2026-05-20 16:34:23 -03:00
top.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
top.h perf top: Switch user option to use BPF filter 2025-06-09 11:18:18 -07:00
topdown.c
topdown.h
tp_pmu.c perf tp_pmu: Address const-correctness errors in recent glibcs 2026-01-27 02:22:00 -03:00
tp_pmu.h perf tp_pmu: Add event APIs 2025-07-26 16:31:43 -07:00
trace_augment.h perf trace: Include the headers declaring pid_t, strcmp and assert 2026-09-22 14:59:58 +02:00
trace-event-info.c perf trace-event: Constify variables storing the result of strchr() on const tables 2026-01-27 02:26:48 -03:00
trace-event-parse.c perf trace-event: Constify print arguments 2024-12-09 17:52:42 -03:00
trace-event-read.c perf trace-event: Fix infinite loop in skip() 2026-08-07 09:43:36 -07:00
trace-event-scripting.c perf script: Don't pass evsel with sample 2026-05-20 16:39:40 -03:00
trace-event.c perf trace-event: Free the global trace_event when a command ends 2026-09-25 14:58:03 +02:00
trace-event.h perf trace-event: Free the global trace_event when a command ends 2026-09-25 14:58:03 +02:00
trace.h perf trace: Add --max-summary option 2025-09-19 12:14:29 -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 event_contains() macro to verify full field extent 2026-05-29 11:44:19 -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: Constify variables storing the result of strchr() on const tables 2026-01-27 02:28:33 -03:00
units.h
unwind-libdw.c perf unwind-libdw: Fix reading the stack of a 32-bit task 2026-09-24 19:22:06 +02:00
unwind-libdw.h perf unwind-libdw: Wire up e_flags for CSKY 2026-01-26 18:31:27 -03:00
unwind-libunwind.c perf libdw: Fix Dwfl discovery with split files 2026-09-18 17:23:16 -03:00
unwind.c perf unwind: Refactor get_entries to allow dynamic libdw/libunwind selection 2026-05-15 08:25:02 -03:00
unwind.h perf unwind-libunwind: Remove libunwind-local 2026-05-15 16:19:50 -03:00
util.c perf cap: Remove used_root parameter and simplify capability checks 2026-07-23 22:46:33 -07:00
util.h perf tool: Move usage strings and functions to perf.c 2026-09-08 17:50:32 -03:00
values.c perf tools: Use calloc() where applicable 2026-04-08 19:21:05 -07: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 perf util: Fix compression checks returning -1 as bool 2025-09-12 15:41:57 -03:00
zstd.c perf record: Return the written size from process_comp_header() 2026-07-13 13:25:16 -07:00