linux/tools/perf/util
Namhyung Kim d3e7cad6f3 perf annotate: Add a hashmap for symbol histogram
Now symbol histogram uses an array to save per-offset sample counts.
But it wastes a lot of memory if the symbol has a few samples only.
Add a hashmap to save values only for actual samples.

For now, it has duplicate histogram (one in the existing array and
another in the new hash map).  Once it can convert to use the hash
in all places, we can get rid of the array later.

Reviewed-by: Ian Rogers <irogers@google.com>
Reviewed-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240304230815.1440583-2-namhyung@kernel.org
2024-03-06 20:24:55 -08: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: Account contending locks too 2024-02-29 13:53:56 -08: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
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: Add a hashmap for symbol histogram 2024-03-06 20:24:55 -08:00
annotate.h perf annotate: Add a hashmap for symbol histogram 2024-03-06 20:24:55 -08:00
archinsn.h
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
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
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-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
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_counter_cgroup.c perf stat: Fix handling of unsupported cgroup events when using BPF counters 2023-01-04 10:52:07 -03:00
bpf_ftrace.c perf evlist: Rename cpus to user_requested_cpus 2022-04-01 16:19:35 -03:00
bpf_kwork.c perf kwork: Remove includes not needed in kwork.h 2022-10-31 11:06:46 -03:00
bpf_kwork_top.c perf kwork top: Simplify bool conversion 2023-09-18 15:38:46 -07: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
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
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
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
clockid.h
cloexec.c perf util: Remove weak sched_getcpu 2023-03-14 08:29:46 -03:00
cloexec.h
color.c
color.h
color_config.c
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
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
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
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
demangle-java.h
demangle-ocaml.c
demangle-ocaml.h
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
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
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.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
evsel_config.h
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
evswitch.c
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
fncache.h
ftrace.h perf ftrace: Reuse target::initial_delay 2023-03-13 14:52:14 -03: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
genelf_debug.c perf jit: Fix incorrect file name in DWARF line table 2023-06-20 22:18:58 -07: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
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
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
jitdump.c perf jitdump: Avoid memory leak 2023-10-12 10:01:56 -07:00
jitdump.h
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
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.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
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
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
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
mem2node.c
mem2node.h
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
parse-sublevel-options.h
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-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
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: 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
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-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
print_binary.c
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
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
probe-file.h
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
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
sample-raw.h
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
spark.h
srccode.c
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
stream.c
stream.h
strfilter.c tools: Rename __fallthrough to fallthrough 2023-04-06 21:41:00 -03:00
strfilter.h
string.c perf util: Add a function for replacing characters in a string 2023-09-12 17:32:00 -03:00
string2.h 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-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
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
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
target.c
target.h perf target: Remove unused hybrid value 2023-05-27 09:38:59 -03:00
term.c
term.h
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 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
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
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
time-utils.h
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
tsc.h perf tsc: Add arch TSC frequency information 2022-07-25 12:28:00 -03:00
units.c
units.h
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