linux/tools/perf/util
Namhyung Kim f3408580ba perf lock contention: Add a missing NULL check
I got a report for a failure in BPF verifier on a recent kernel with
perf lock contention command.  It checks task->sighand->siglock without
checking if sighand is NULL or not.  Let's add one.

  ; if (&curr->sighand->siglock == (void *)lock)
  265: (79) r1 = *(u64 *)(r0 +2624)     ; frame1: R0_w=trusted_ptr_task_struct(off=0,imm=0)
                                        ;         R1_w=rcu_ptr_or_null_sighand_struct(off=0,imm=0)
  266: (b7) r2 = 0                      ; frame1: R2_w=0
  267: (0f) r1 += r2
  R1 pointer arithmetic on rcu_ptr_or_null_ prohibited, null-check it first
  processed 164 insns (limit 1000000) max_states_per_insn 1 total_states 15 peak_states 15 mark_read 5
  -- END PROG LOAD LOG --
  libbpf: prog 'contention_end': failed to load: -13
  libbpf: failed to load object 'lock_contention_bpf'
  libbpf: failed to load BPF skeleton 'lock_contention_bpf': -13
  Failed to load lock-contention BPF skeleton
  lock contention BPF setup failed
  lock contention did not detect any lock contention

Fixes: 1811e82767 ("perf lock contention: Track and show siglock with address")
Reviewed-by: Ian Rogers <irogers@google.com>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Song Liu <song@kernel.org>
Cc: bpf@vger.kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240409225542.1870999-1-namhyung@kernel.org
2024-04-11 10:30:06 -07:00
..
arm-spe-decoder perf arm-spe: Fix a dangling Documentation/arm64 reference 2023-06-21 08:53:31 -06:00
bpf_skel perf lock contention: Add a missing NULL check 2024-04-11 10:30:06 -07:00
cs-etm-decoder perf cs-etm: Add exception level consistency check 2023-06-12 18:18:13 -03:00
hisi-ptt-decoder perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet 2022-10-15 10:13:16 -03:00
include tools headers: Update the copy of x86's mem{cpy,set}_64.S used in 'perf bench' 2024-01-30 11:31:15 -03:00
intel-pt-decoder perf intel-pt: Prefer get_unaligned_le64 to memcpy_le64 2023-10-17 12:40:50 -07: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 parse-regs: Always build perf register functions 2024-02-15 13:48:20 -08:00
scripting-engines tools: perf: Expose sample ID / stream ID to python scripts 2024-02-02 18:05:40 -08:00
addr_location.c perf addr_location: Add init/exit/copy functions 2023-06-12 15:57:53 -03:00
addr_location.h perf addr_location: Add init/exit/copy functions 2023-06-12 15:57:53 -03:00
affinity.c perf tools: Use dedicated non-atomic clear/set bit helpers 2022-12-05 09:29:06 -03:00
affinity.h perf affinity: Add infrastructure to save/restore affinity 2019-11-28 08:08:38 -03:00
amd-sample-raw.c perf script ibs: Remove unused include 2023-08-23 08:41:52 -03:00
annotate-data.c perf annotate-data: Support stack variables 2024-01-22 12:08:20 -08:00
annotate-data.h perf annotate-data: Support global variables 2024-01-22 12:08:20 -08:00
annotate.c perf annotate: Make sure to call symbol__annotate2() in TUI 2024-04-11 10:14:58 -07:00
annotate.h perf annotate: Add comments in the data structures 2024-03-06 20:25:48 -08:00
archinsn.h
arm64-frame-pointer-unwind-support.c perf unwind: Don't show unwind error messages when augmenting frame pointer stack 2022-04-09 12:34:29 -03: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
arm-spe.c perf thread: Add accessor functions for thread 2023-06-12 15:57:53 -03:00
arm-spe.h perf pmu: Lazily compute default config 2023-10-17 12:40:50 -07:00
auxtrace.c libperf cpumap: Rename perf_cpu_map__empty() to perf_cpu_map__has_any_cpu_or_is_empty() 2023-12-12 14:55:13 -03:00
auxtrace.h perf auxtrace: Add 'T' itrace option for timestamp trace 2023-11-27 10:21:27 -03:00
block-info.c perf ui/browser/annotate: Use global annotation_options 2023-12-07 17:18:06 -03:00
block-info.h perf ui/browser/annotate: Use global annotation_options 2023-12-07 17:18:06 -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: Fix handling of unsupported cgroup events when using BPF counters 2023-01-04 10:52:07 -03:00
bpf_counter.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
bpf_counter.h perf build: Properly guard libbpf includes 2023-01-10 10:51:39 -03:00
bpf_ftrace.c perf evlist: Rename cpus to user_requested_cpus 2022-04-01 16:19:35 -03:00
bpf_kwork_top.c perf kwork top: Simplify bool conversion 2023-09-18 15:38:46 -07:00
bpf_kwork.c perf kwork: Remove includes not needed in kwork.h 2022-10-31 11:06:46 -03:00
bpf_lock_contention.c perf machine: Move machine's threads into its own abstraction 2024-03-03 22:51:44 -08:00
bpf_map.c perf: Stop using bpf_map__def() API 2022-01-12 17:01:38 -08: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 offcpu: Add missed btf_free 2023-10-25 13:38:33 -07:00
bpf-event.c perf maps: Get map before returning in maps__find 2024-02-12 12:35:26 -08: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: Fix sample flag check with || 2023-08-15 16:41:48 -03:00
bpf-filter.h perf bpf filter: Add logical OR operator 2023-03-15 11:08:36 -03:00
bpf-filter.l perf bpf filter: Add logical OR operator 2023-03-15 11:08:36 -03:00
bpf-filter.y perf bpf-filter: Add YYDEBUG 2023-09-12 17:50:36 -03:00
bpf-prologue.h perf bpf: No need to include headers just use forward declarations 2022-10-31 11:05:41 -03:00
bpf-utils.c perf bpf: 8 byte align bpil data 2022-06-28 12:05:25 -03:00
bpf-utils.h perf bpf: Pull in bpf_program__get_prog_info_linear() 2021-11-01 18:16:40 -03:00
branch.c perf callchain: Make display use of branch_type_stat const 2023-10-25 13:38:50 -07:00
branch.h perf callchain: Make display use of branch_type_stat const 2023-10-25 13:38:50 -07:00
Build perf threads: Move threads to its own files 2024-03-03 22:51:55 -08:00
build-id.c perf build-id: Simplify build_id_cache__cachedir() 2023-08-25 10:24:10 -03:00
build-id.h perf buildid-cache: Add guestmount'd files to the build ID cache 2022-07-20 11:07:53 -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 perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
callchain.c perf maps: Hide maps internals 2024-02-12 12:35:41 -08:00
callchain.h perf callchain: Minor layout changes to callchain_list 2023-10-25 13:39:32 -07:00
cap.c
cap.h perf tools: Support CAP_PERFMON capability 2020-04-16 12:19:08 -03:00
cgroup.c perf lock contention: Add -G/--cgroup-filter option 2023-09-12 17:32:00 -03:00
cgroup.h perf lock contention: Add -G/--cgroup-filter option 2023-09-12 17:32:00 -03:00
clockid.c perf tools: Add clockid_name function 2020-08-06 09:33:57 -03:00
clockid.h perf tools: Add clockid_name function 2020-08-06 09:33:57 -03:00
cloexec.c perf util: Remove weak sched_getcpu 2023-03-14 08:29:46 -03:00
cloexec.h
color_config.c
color.c
color.h
comm.c
comm.h
compress.h perf mmap: Lazily initialize zstd streams to save memory when not using it 2023-11-28 14:25:06 -03:00
config.c perf parse-events: Remove BPF event support 2023-08-15 16:41:48 -03:00
config.h perf tools: Add perf_config_scan() 2022-10-04 08:55:21 -03:00
copyfile.c perf tools: Fix mode setting in copyfile_mode_ns() 2019-10-15 12:05:18 -03:00
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 stat: Support per-cluster aggregation 2024-02-09 14:59:53 -08:00
cpumap.h perf stat: Support per-cluster aggregation 2024-02-09 14:59:53 -08: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 cs-etm: Enable itrace option 'T' 2023-11-27 10:21:27 -03:00
cs-etm.h perf pmu: Lazily compute default config 2023-10-17 12:40:50 -07:00
data-convert-bt.c perf trace: Reduce #ifdefs for TEP_FIELD_IS_RELATIVE 2023-01-19 13:26:28 -03:00
data-convert-json.c perf data convert: Fix segfault when converting to json when cpu_desc isn't set 2024-02-26 08:30:17 -08:00
data-convert.h perf data: Add JSON export 2021-04-29 10:30:58 -03:00
data.c perf data: Minor code style alignment cleanup 2024-01-22 12:08:21 -08:00
data.h perf data: Minor code style alignment cleanup 2024-01-22 12:08:21 -08:00
db-export.c perf db-export: Fix missing reference count get in call_path_from_sample() 2024-01-04 18:29:17 -03:00
db-export.h perf scripting python: Add 'addr_location' for 'addr' 2021-05-25 10:07:17 -03:00
debug.c perf tools: Make it possible to see perf's kernel and module memory mappings 2024-02-08 15:49:39 -08:00
debug.h perf tools: Make it possible to see perf's kernel and module memory mappings 2024-02-08 15:49:39 -08:00
debuginfo.c perf tools: Add util/debuginfo.[ch] files 2023-11-10 09:03:54 -03:00
debuginfo.h perf tools: Add util/debuginfo.[ch] files 2023-11-10 09:03:54 -03: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: Add abi::__cxa_demangle C++ demangling support 2023-03-14 08:29:46 -03:00
demangle-java.c perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
demangle-java.h
demangle-ocaml.c perf tools: Preserve identifier id in OCaml demangler 2021-03-30 12:45:59 -03:00
demangle-ocaml.h perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
demangle-rust.c
demangle-rust.h
dlfilter.c perf tools fixes for v6.6: 2nd batch 2023-10-30 13:46:27 -07:00
dlfilter.h perf tests: Add dlfilter test 2021-08-11 09:35:44 -03:00
dso.c perf annotate-data: Add dso->data_types tree 2023-12-23 22:39:42 -03:00
dso.h perf annotate-data: Add dso->data_types tree 2023-12-23 22:39:42 -03:00
dsos.c perf dso: Add dso__filename_with_chroot() to reduce number of accesses to dso->nsinfo members 2023-04-17 18:47:55 -03:00
dsos.h perf dso: Move dso_id from 'struct map' to 'struct dso' 2019-11-19 19:12:26 -03:00
dump-insn.c
dump-insn.h
dwarf-aux.c perf dwarf-aux: Check allowed DWARF Ops 2024-01-22 12:08:20 -08:00
dwarf-aux.h perf annotate-data: Support stack variables 2024-01-22 12:08:20 -08:00
dwarf-regs.c perf dwarf-regs: Add get_dwarf_regnum() 2023-12-23 10:56:05 -03:00
env.c perf env: Avoid recursively taking env->bpf_progs.lock 2024-01-03 17:54:54 -03:00
env.h perf stat: Support per-cluster aggregation 2024-02-09 14:59:53 -08:00
event.c perf maps: Get map before returning in maps__find 2024-02-12 12:35:26 -08:00
event.h perf symbols: Add kallsyms__get_symbol_start() 2023-07-28 19:01:16 -03:00
events_stats.h perf hist: Add nr_lost_samples to hist_stats 2022-10-04 08:55:20 -03:00
evlist.c perf evlist: Fix evlist__new_default() for > 1 core PMU 2024-01-30 11:40:28 -03:00
evlist.h perf top: Uniform the event name for the hybrid machine 2023-12-14 19:13:10 -03:00
evsel_config.h perf evsel: Rename *perf_evsel__get_config_term() & friends to evsel__env() 2020-05-28 10:03:24 -03:00
evsel_fprintf.c perf callchain: Use pthread keys for tls callchain_cursor 2023-06-12 15:57:54 -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 evsel: Fix duplicate initialization of data->id in evsel__parse_sample() 2024-02-01 22:11:45 -08:00
evsel.h perf util: Add evsel__taskstate() to parse the task state info instead 2024-01-22 23:02:37 -08:00
evswitch.c perf evlist: Use the right prefix for 'struct evlist' 'find' methods 2020-11-30 09:48:07 -03:00
evswitch.h perf: Various spelling fixes 2023-01-23 10:00:47 -03:00
expr.c perf expr: Fix "has_event" function for metric style events 2024-02-13 13:48:06 -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 pmu: Use file system cache to optimize sysfs access 2019-11-28 08:08:38 -03:00
fncache.h perf pmu: Use file system cache to optimize sysfs access 2019-11-28 08:08:38 -03:00
ftrace.h perf ftrace: Reuse target::initial_delay 2023-03-13 14:52:14 -03: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 genelf: Set ELF program header addresses properly 2023-12-14 18:56:34 -03:00
genelf.h tools/perf: Add basic support for LoongArch 2023-05-01 17:19:59 +08:00
generate-cmdlist.sh perf help: Use HAVE_LIBTRACEEVENT to filter out unsupported commands 2023-01-02 11:51:53 -03:00
get_current_dir_name.c perf tools: Fixup get_current_dir_name() compilation 2021-08-30 10:06:16 -03:00
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: Update copy of libbpf's hashmap.c 2023-09-11 10:31:02 -03:00
header.c perf env: Avoid recursively taking env->bpf_progs.lock 2024-01-03 17:54:54 -03:00
header.h perf: Extract building cache level for a CPU into separate function 2023-05-23 12:20:14 -03:00
help-unknown-cmd.c perf help: Ensure clean_cmds is called on all paths 2023-06-12 18:18:14 -03:00
help-unknown-cmd.h
hisi-ptt.c perf hisi-ptt: Fix one memory leakage in hisi_ptt_process_auxtrace_event() 2023-12-13 13:56:09 -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 tools: Fix calloc() arguments to address error introduced in gcc-14 2024-01-26 12:56:01 -03:00
hist.h perf report: Add 'symoff' sort key 2023-12-23 22:39:42 -03:00
intel-bts.c perf thread: Add accessor functions for thread 2023-06-12 15:57:53 -03:00
intel-bts.h
intel-pt.c perf intel-pt: Fix async branch flags 2023-09-29 23:59:08 -07:00
intel-pt.h perf pmu: Lazily compute default config 2023-10-17 12:40:50 -07:00
intlist.c perf intlist: Change 'struct intlist' int member to 'unsigned long' 2021-02-08 17:02:00 -03:00
intlist.h perf intlist: Change 'struct intlist' int member to 'unsigned long' 2021-02-08 17:02:00 -03:00
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 inject jit: Add namespaces support 2021-02-03 13:10:44 -03:00
jitdump.c perf jitdump: Avoid memory leak 2023-10-12 10:01:56 -07:00
jitdump.h perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
kvm-stat.h perf kvm: Reference count 'struct kvm_info' 2023-03-21 10:06:05 -03:00
kwork.h perf kwork top: Implements BPF-based cpu usage statistics 2023-09-12 17:31:59 -03:00
levenshtein.c perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
levenshtein.h
lock-contention.h perf lock contention: Add -G/--cgroup-filter option 2023-09-12 17:32:00 -03:00
lzma.c perf lzma: Convert some pr_err() to pr_debug() as callers already use pr_debug() 2023-08-22 16:53:32 -03:00
machine.c perf threads: Move threads to its own files 2024-03-03 22:51:55 -08:00
machine.h perf threads: Move threads to its own files 2024-03-03 22:51:55 -08:00
map_symbol.c perf mem_info: Add and use map_symbol__exit and addr_map_symbol__exit 2023-10-25 13:39:58 -07:00
map_symbol.h perf mem_info: Add and use map_symbol__exit and addr_map_symbol__exit 2023-10-25 13:39:58 -07:00
map.c perf maps: Switch from rbtree to lazily sorted array for addresses 2024-02-12 12:35:14 -08:00
map.h perf map: Improve map/unmap parameter names 2023-12-18 21:34:51 -03:00
maps.c perf map: Fix map reference count issues 2024-02-29 18:06:00 -08:00
maps.h perf maps: Locking tidy up of nr_maps 2024-02-12 12:35:41 -08:00
mem2node.c perf mem2node: Improve warning if detected no memory nodes 2020-11-04 09:42:40 -03:00
mem2node.h
mem-events.c perf mem: Clean up perf_pmus__num_mem_pmus() 2024-01-24 14:05:22 -08:00
mem-events.h perf mem: Clean up perf_pmus__num_mem_pmus() 2024-01-24 14:05:22 -08:00
memswap.c
memswap.h
metricgroup.c perf metrics: Fix segv for metrics with no events 2024-02-29 13:40:13 -08:00
metricgroup.h perf metrics: Sort the Default metricgroup 2023-06-16 09:56:36 -03:00
mmap.c perf mmap: Lazily initialize zstd streams to save memory when not using it 2023-11-28 14:25:06 -03:00
mmap.h perf mmap: Lazily initialize zstd streams to save memory when not using it 2023-11-28 14:25:06 -03:00
mutex.c perf mutex: Add thread safety annotations 2022-10-04 08:55:20 -03:00
mutex.h perf mutex: Add thread safety annotations 2022-10-04 08:55:20 -03:00
namespaces.c perf namespaces: Introduce nsinfo__mntns_path() accessor to avoid accessing ->mntns_path directly 2023-04-17 22:22:24 -03:00
namespaces.h perf namespaces: Add reference count checking 2023-04-17 18:51:57 -03:00
off_cpu.h perf offcpu: Accept allowed sample types only 2022-06-28 11:45:45 -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: Print all errors 2024-02-02 13:08:05 -08:00
parse-events.h perf parse-events: Print all errors 2024-02-02 13:08:05 -08:00
parse-events.l perf parse-events: Avoid erange from hex numbers 2023-10-12 10:01:55 -07:00
parse-events.y perf parse-events: Print all errors 2024-02-02 13:08:05 -08: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 perf tools: Add general function to parse sublevel options 2020-08-14 09:15:47 -03:00
parse-sublevel-options.h perf tools: Add missing newline at the end of header file 2021-08-24 15:01:31 -03:00
path.c perf path: Make mkpath thread safe, remove 16384 bytes from .bss 2023-05-28 10:24:14 -03:00
path.h perf test: Shell - Limit to only run executable scripts in tests 2022-04-11 16:39:49 -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 record: Move probing cgroup sampling support 2021-06-01 10:32:00 -03:00
perf_event_attr_fprintf.c perf tools: Add branch counter knob 2023-11-09 13:47:50 -03: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 pfm: Retry supported test with exclude_kernel 2023-09-12 17:32:00 -03:00
pfm.h perf list: List callback support for libpfm 2022-11-24 10:04:52 -03:00
pmu.c perf pmu: Fix a potential memory leak in perf_pmu__lookup() 2024-02-26 21:43:00 -08:00
pmu.h perf mem: Add mem_events into the supported perf_pmu 2024-01-24 14:03:33 -08: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 mem: Clean up perf_pmus__num_mem_pmus() 2024-01-24 14:05:22 -08:00
pmus.h perf mem: Clean up perf_pmus__num_mem_pmus() 2024-01-24 14:05:22 -08:00
print_binary.c perf python scripting: Fix printable strings in python3 scripts 2020-10-01 12:10:56 -03:00
print_binary.h
print_insn.c perf: util: use capstone disasm engine to show assembly instructions 2024-02-20 18:06:48 -08:00
print_insn.h perf: util: use capstone disasm engine to show assembly instructions 2024-02-20 18:06:48 -08:00
print-events.c perf print-events: make is_event_supported() more robust 2024-02-23 14:16:33 -08:00
print-events.h perf pmus: Skip duplicate PMUs and don't print list suffix by default 2023-08-29 14:16:14 -03:00
probe-event.c perf map: Fix map reference count issues 2024-02-29 18:06:00 -08:00
probe-event.h perf probe: Make synthesize_perf_probe_point() private to probe-event.c 2023-08-07 16:40:29 -03:00
probe-file.c perf probe-file: Delete namelist in del_events() on the error path 2021-07-18 09:27:37 -03:00
probe-file.h perf probe: Support DW_AT_const_value constant value 2019-11-18 19:08:02 -03:00
probe-finder.c perf probe: Convert to check dwarf_getcfi feature 2023-11-10 09:04:21 -03:00
probe-finder.h perf tools: Add util/debuginfo.[ch] files 2023-11-10 09:03:54 -03:00
pstack.c perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
pstack.h
python-ext-sources perf evsel: Rename get_states() to parse_task_states() and make it public 2024-02-01 22:10:27 -08:00
python.c perf tools: Make it possible to see perf's kernel and module memory mappings 2024-02-08 15:49:39 -08:00
rb_resort.h perf trace: Ignore thread hashing in summary 2024-03-03 22:51:18 -08:00
rblist.c
rblist.h
record.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
record.h perf record: Reuse target::initial_delay 2023-03-13 14:52:14 -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 debug mode that uses a mutex 2023-10-25 13:35:35 -07:00
rwsem.h perf rwsem: Add debug mode that uses a mutex 2023-10-25 13:35:35 -07: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 tools: Move 'struct perf_sample' to a separate header file to disentangle headers 2022-10-31 11:06:41 -03:00
s390-cpumsf.h
s390-sample-raw.c perf report: Remove warning on missing raw data for s390 2023-11-27 15:38:37 -03:00
sample-raw.c perf report: Add support to print a textual representation of IBS raw sample data 2021-09-10 18:15:21 -03:00
sample-raw.h perf report: Add support to print a textual representation of IBS raw sample data 2021-09-10 18:15:21 -03:00
sample.h perf tools: Add branch counter knob 2023-11-09 13:47:50 -03:00
session.c perf tools: Make it possible to see perf's kernel and module memory mappings 2024-02-08 15:49:39 -08:00
session.h perf tools: Make it possible to see perf's kernel and module memory mappings 2024-02-08 15:49:39 -08:00
setns.c
setup.py perf evsel: Rename get_states() to parse_task_states() and make it public 2024-02-01 22:10:27 -08: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: Prevent segfault with --no-parent 2024-02-01 22:15:31 -08:00
sort.h perf report: Add 'symoff' sort key 2023-12-23 22:39:42 -03:00
spark.c perf diff: Report noisy for cycles diff 2019-10-11 10:57:00 -03:00
spark.h perf diff: Report noisy for cycles diff 2019-10-11 10:57:00 -03:00
srccode.c perf srccode: Use list_move() instead of equivalent list_del() + list_add() sequence 2021-06-08 09:36:36 -03:00
srccode.h
srcline.c perf srcline: Add missed addr2line closes 2024-02-09 20:43:13 -08:00
srcline.h perf srcline: Add a timeout to reading from addr2line 2023-06-14 18:19:06 -03:00
stat-display.c perf stat: Fix metric-only aggregation index 2024-02-22 08:57:29 -08:00
stat-shadow.c perf metrics: Compute unmerged uncore metrics individually 2024-02-22 08:57:09 -08:00
stat.c perf stat: Combine the -A/--no-aggr and --no-merge options 2023-12-14 18:24:38 -03:00
stat.h perf stat: Support per-cluster aggregation 2024-02-09 14:59:53 -08:00
strbuf.c
strbuf.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
stream.c libperf: Move 'idx' from tools/perf to perf_evsel::idx 2021-07-09 14:04:28 -03:00
stream.h perf streams: Report hot streams 2020-10-14 13:34:26 -03:00
strfilter.c tools: Rename __fallthrough to fallthrough 2023-04-06 21:41:00 -03:00
strfilter.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
string2.h perf util: Add a function for replacing characters in a string 2023-09-12 17:32:00 -03:00
string.c perf util: Add a function for replacing characters in a string 2023-09-12 17:32:00 -03:00
strlist.c
strlist.h
svghelper.c perf svghelper: Avoid memory leak 2023-10-12 10:01:56 -07:00
svghelper.h
symbol_conf.h perf annotate: Add --data-type option 2023-12-23 22:39:43 -03:00
symbol_fprintf.c perf symbol: Remove symbol_name_rb_node 2023-06-23 21:47:20 -07:00
symbol-elf.c perf maps: Get map before returning in maps__find_by_name 2024-02-12 12:35:33 -08:00
symbol-minimal.c perf symbols: Parse NOTE segments until the build id is found 2023-12-06 09:46:15 -03:00
symbol.c perf tools: Fixup module symbol end address properly 2024-02-16 16:07:28 -08:00
symbol.h perf maps: Move symbol maps functions to maps.c 2023-12-06 13:01:46 -03:00
symsrc.h perf symbols: Allow for static executables with .plt 2023-02-01 21:51:51 -03:00
synthetic-events.c perf tools: Fix calloc() arguments to address error introduced in gcc-14 2024-01-26 12:56:01 -03:00
synthetic-events.h perf cpumap: Synthetic events and const/static 2022-08-19 12:26:58 -03:00
syscalltbl.c perf tools: Declare syscalltbl_*[] as const for all archs 2023-06-05 11:36:17 -03:00
syscalltbl.h perf trace: Remove union from syscalltbl, all the fields are needed 2020-05-29 16:50:26 -03:00
target.c perf stat: Enable counting events for BPF programs 2021-01-20 14:25:28 -03:00
target.h perf target: Remove unused hybrid value 2023-05-27 09:38:59 -03: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 perf tools: Remove duplicate struct forward declarations 2021-03-25 08:59:10 -03:00
thread.c perf machine: Move machine's threads into its own abstraction 2024-03-03 22:51:44 -08:00
thread.h perf machine: Move machine's threads into its own abstraction 2024-03-03 22:51:44 -08:00
threads.c perf threads: Switch from rbtree to hashmap 2024-03-03 22:52:04 -08:00
threads.h perf threads: Reduce table size from 256 to 8 2024-03-03 22:52:13 -08:00
time-utils.c perf script: Fix --reltime with --time 2019-10-15 08:36:22 -03:00
time-utils.h perf script: Fix --reltime with --time 2019-10-15 08:36:22 -03:00
tool.h perf record: Add finished init event 2022-06-23 11:54:22 -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-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 evsel: Rename get_states() to parse_task_states() and make it public 2024-02-01 22:10:27 -08:00
trace-event-read.c perf build: Use libtraceevent from the system 2022-12-14 11:16:12 -03:00
trace-event-scripting.c perf script: Fix Python support when no libtraceevent 2023-03-15 10:27:07 -03:00
trace-event.c perf build: Use libtraceevent from the system 2022-12-14 11:16:12 -03:00
trace-event.h perf evsel: Rename get_states() to parse_task_states() and make it public 2024-02-01 22:10:27 -08:00
tracepoint.c perf tracepoint: Fix memory leak in is_valid_tracepoint() 2023-05-02 08:36:14 -03:00
tracepoint.h perf parse-events: Break out tracepoint and printing 2022-08-02 16:32:26 -03:00
trigger.h
tsc.c perf session: Dump PERF_RECORD_TIME_CONV event 2021-04-29 10:31:00 -03:00
tsc.h perf tsc: Add arch TSC frequency information 2022-07-25 12:28:00 -03:00
units.c perf stat: Improve readability of shadow stats 2021-03-15 11:36:54 -03:00
units.h perf stat: Improve readability of shadow stats 2021-03-15 11:36:54 -03:00
unwind-libdw.c perf maps: Hide maps internals 2024-02-12 12:35:41 -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 maps: Hide maps internals 2024-02-12 12:35:41 -08:00
unwind-libunwind.c perf maps: Hide maps internals 2024-02-12 12:35:41 -08: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 list: Add scandirat compatibility function 2024-02-22 09:11:41 -08:00
util.h perf list: Add scandirat compatibility function 2024-02-22 09:11:41 -08:00
values.c
values.h
vdso.c perf vdso: Use function to add missing maps lock 2023-12-20 14:49:11 -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