linux/tools/perf/util
Changbin Du 8f0ec15ff6 perf: util: use capstone disasm engine to show assembly instructions
Currently, the instructions of samples are shown as raw hex strings
which are hard to read. x86 has a special option '--xed' to disassemble
the hex string via intel XED tool.

Here we use capstone as our disassembler engine to give more friendly
instructions. We select libcapstone because capstone can provide more
insn details. Perf will fallback to raw instructions if libcapstone is
not available.

The advantages compared to XED tool:
 * Support arm, arm64, x86-32, x86_64 (more could be supported),
   xed only for x86_64.
 * Immediate address operands are shown as symbol+offs.

Signed-off-by: Changbin Du <changbin.du@huawei.com>
Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: changbin.du@gmail.com
Cc: Thomas Richter <tmricht@linux.ibm.com>
Cc: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240217074046.4100789-3-changbin.du@huawei.com
2024-02-20 18:06:48 -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 augmented_raw_syscalls.bpf: Move 'struct timespec64' to vmlinux.h 2024-02-16 15:19:57 -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-data: Support global variables 2024-01-22 12:08:20 -08:00
annotate.h perf annotate-data: Support global variables 2024-01-22 12:08:20 -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 maps: Add maps__load_first() 2023-12-20 14:56:10 -03: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: util: use capstone disasm engine to show assembly instructions 2024-02-20 18:06:48 -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
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_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
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 addr_location: Add init/exit/copy functions 2023-06-12 15:57:53 -03: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
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
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
fncache.h
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
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 maps: Locking tidy up of nr_maps 2024-02-12 12:35:41 -08:00
machine.h perf threads: Remove unused dead thread list 2023-10-25 13:38:09 -07: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 maps: Locking tidy up of nr_maps 2024-02-12 12:35:41 -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 tools: Fix calloc() arguments to address error introduced in gcc-14 2024-01-26 12:56:01 -03: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 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 parse-events: Improve error location of terms cloned from an event 2024-02-02 13:07:45 -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
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 list: Switch error message to pr_err() to respect debug settings (-v) 2024-01-26 10:51:48 -03: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 maps: Get map before returning in maps__find_by_name 2024-02-12 12:35:33 -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
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
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
spark.h
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: Avoid metric-only segv 2024-02-13 13:48:09 -08:00
stat-shadow.c perf metric: Don't remove scale from counts 2024-02-13 13:48: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
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: Free strlist on normal path in thread_map__new_by_tid_str() 2024-02-09 14:08:41 -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 maps: Hide maps internals 2024-02-12 12:35:41 -08:00
thread.h perf: util: use capstone disasm engine to show assembly instructions 2024-02-20 18:06:48 -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 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 util: Move input_name to util 2023-04-10 19:21:31 -03:00
util.h perf util: Move perf_guest/host declarations 2023-04-10 19:22:05 -03: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