2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/tools/perf/util
Kan Liang edf3ce0ed3 perf env: Find correct branch counter info on hybrid
No event is printed in the "Branch Counter" column on hybrid machines.

For example,

  $ perf record -e "{cpu_core/branch-instructions/pp,cpu_core/branches/}:S" -j any,counter
  $ perf report --total-cycles

  # Branch counter abbr list:
  # cpu_core/branch-instructions/pp = A
  # cpu_core/branches/ = B
  # '-' No event occurs
  # '+' Event occurrences may be lost due to branch counter saturated
  #
  # Sampled Cycles%  Sampled Cycles  Avg Cycles%  Avg Cycles  Branch Counter
  # ...............  ..............  ...........  ..........  ..............
            44.54%          727.1K        0.00%           1   |+   |+   |
            36.31%          592.7K        0.00%           2   |+   |+   |
            17.83%          291.1K        0.00%           1   |+   |+   |

The branch counter information (br_cntr_width and br_cntr_nr) in the
perf_env is retrieved from the CPU_PMU_CAPS. However, the CPU_PMU_CAPS
is not available on hybrid machines. Without the width information, the
number of occurrences of an event cannot be calculated.

For a hybrid machine, the caps information should be retrieved from the
PMU_CAPS, and stored in the perf_env->pmu_caps.

Add a perf_env__find_br_cntr_info() to return the correct branch counter
information from the corresponding fields.

Committer notes:

While testing I couldn't s ee those "Branch counter" columns enabled by
pressing 'B' on the TUI, after reporting it to the list Kan explained
the situation:

<quote Kan Liang>
For a hybrid client, the "Branch Counter" feature is only supported
starting from the just released Lunar Lake. Perf falls back to only
"ANY" on your Raptor Lake.

The "The branch counter is not available" message is expected.

Here is the 'perf evlist' result from my Lunar Lake machine,

  # perf evlist -v
  cpu_core/branch-instructions/pp: type: 4 (cpu_core), size: 136, config: 0xc4 (branch-instructions), { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|READ|PERIOD|BRANCH_STACK|IDENTIFIER, read_format: ID|GROUP|LOST, disabled: 1, freq: 1, enable_on_exec: 1, precise_ip: 2, sample_id_all: 1, exclude_guest: 1, branch_sample_type: ANY|COUNTERS
  #
</quote>

Fixes: 6f9d8d1de2 ("perf script: Add branch counters")
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240909184201.553519-1-kan.liang@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2024-09-11 13:08:46 -03:00
..
arm-spe-decoder perf util: Make util its own library 2024-06-26 11:07:42 -07:00
bpf_skel perf trace: Collect augmented data using BPF 2024-09-10 09:52:20 -03:00
cs-etm-decoder perf: cs-etm: Print queue number in raw trace dump 2024-08-29 15:56:37 -03:00
hisi-ptt-decoder perf util: Make util its own library 2024-06-26 11:07:42 -07:00
include perf annotate: Update parameters for reg extract functions to use raw instruction on powerpc 2024-07-31 16:12:59 -03:00
intel-pt-decoder perf script: Minimize "not reaching sample" for '-F +brstackinsn' 2024-09-03 12:22:01 -03:00
libunwind perf unwind: Use perf_arch_reg_{ip|sp}() to substitute macros 2023-08-16 08:48:06 -03:00
perf-regs-arch perf util: Make util its own library 2024-06-26 11:07:42 -07:00
scripting-engines perf script python: Avoid buffer overflow in python PEBS register interface 2024-09-06 11:44:58 -03: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: Add pr_debug_scope() 2024-09-10 17:32:47 -03:00
annotate-data.h perf annotate-data: Copy back variable types after move 2024-08-22 12:38:18 -03:00
annotate.c perf env: Find correct branch counter info on hybrid 2024-09-11 13:08:46 -03:00
annotate.h perf annotate: Display the branch counter histogram 2024-08-14 10:20:40 -03: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 tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
arm-spe.h perf pmu: Lazily compute default config 2023-10-17 12:40:50 -07:00
auxtrace.c perf auxtrace: Use evsel__is_aux_event() for checking AUX event 2024-08-28 18:14:42 -03:00
auxtrace.h perf auxtrace: Remove unused 'pmu' pointer from struct auxtrace_record 2024-08-28 18:15:16 -03:00
block-info.c perf report: Display the branch counter histogram 2024-08-14 10:20:40 -03:00
block-info.h perf report: Display the branch counter histogram 2024-08-14 10:20:40 -03:00
block-range.c perf annotate: Move max_coverage from 'struct annotation' to 'struct annotated_branch' 2023-11-09 13:49:33 -03:00
block-range.h
bpf_counter_cgroup.c perf stat: Constify control data for BPF 2024-09-03 11:43:16 -03:00
bpf_counter.c 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 ftrace latency: Constify control data for BPF 2024-09-03 11:47:02 -03:00
bpf_kwork_top.c perf kwork: Constify control data for BPF 2024-09-03 11:50:20 -03:00
bpf_kwork.c perf kwork: Constify control data for BPF 2024-09-03 11:50:20 -03:00
bpf_lock_contention.c perf lock contention: Constify control data for BPF 2024-09-03 11:53:15 -03:00
bpf_map.c perf bpf: Remove redundant check that map is NULL 2024-08-21 11:39:51 -03:00
bpf_map.h perf bpf: No need to include compiler.h when HAVE_LIBBPF_SUPPORT is true 2022-10-27 16:37:26 -03:00
bpf_off_cpu.c perf record offcpu: Constify control data for BPF 2024-09-03 11:54:47 -03:00
bpf-event.c perf tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
bpf-event.h perf env: Avoid recursively taking env->bpf_progs.lock 2024-01-03 17:54:54 -03:00
bpf-filter.c perf bpf-filter: Support filtering on cgroups 2024-08-28 18:21:49 -03:00
bpf-filter.h perf bpf-filter: Support pin/unpin BPF object 2024-08-01 12:11:33 -03:00
bpf-filter.l perf bpf-filter: Support filtering on cgroups 2024-08-28 18:21:49 -03:00
bpf-filter.y perf bpf-filter: Support filtering on cgroups 2024-08-28 18:21:49 -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 annotate: Save branch counters for each block 2024-08-14 10:20:40 -03:00
Build perf report: Support LLVM for addr2line() 2024-09-03 10:15:16 -03:00
build-id.c perf inject: Fix build ID injection 2024-09-10 17:32:47 -03:00
build-id.h perf buildid-list: Use perf_tool__init 2024-08-12 18:07:10 -03:00
cache.h perf path: Make mkpath thread safe, remove 16384 bytes from .bss 2023-05-28 10:24:14 -03:00
cacheline.c
cacheline.h perf c2c: Add report option to show false sharing in adjacent cachelines 2023-02-16 09:33:45 -03:00
call-path.c
call-path.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
callchain.c perf callchain: Allow symbols to be optional when resolving a callchain 2024-09-10 17:32:47 -03:00
callchain.h perf callchain: Allow symbols to be optional when resolving a callchain 2024-09-10 17:32:47 -03:00
cap.c perf cap: Tidy up and improve capability testing 2024-08-20 17:53:12 -03:00
cap.h perf cap: Tidy up and improve capability testing 2024-08-20 17:53:12 -03:00
cgroup.c perf tools: Ignore deleted cgroups 2024-05-10 10:52:46 -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 perf comm str: Avoid sort during insert 2024-07-03 14:59:15 -07:00
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 cpumap: Remove refcnt from 'struct cpu_aggr_map' 2024-05-07 18:06:44 -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: 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: Print queue number in raw trace dump 2024-08-29 15:56:37 -03:00
cs-etm.h perf: cs-etm: Create decoders based on the trace ID mappings 2024-08-29 15:55:24 -03:00
data-convert-bt.c perf data convert ctf: Use perf_tool__init() 2024-08-12 18:13:00 -03:00
data-convert-json.c perf data convert json: Use perf_tool__init() 2024-08-12 18:12:44 -03:00
data-convert.h perf data: Add JSON export 2021-04-29 10:30:58 -03:00
data.c perf data: Allow to use given fd in data->file.fd 2024-08-12 18:15:39 -03:00
data.h perf data: Minor code style alignment cleanup 2024-01-22 12:08:21 -08:00
db-export.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
db-export.h perf scripting python: Add 'addr_location' for 'addr' 2021-05-25 10:07:17 -03:00
debug.c perf annotate-data: Add debug messages 2024-03-21 10:41:28 -03:00
debug.h perf annotate-data: Add debug messages 2024-03-21 10:41:28 -03:00
debuginfo.c perf tools: Add util/debuginfo.[ch] files 2023-11-10 09:03:54 -03:00
debuginfo.h perf debuginfo: Fix the build with !HAVE_DWARF_SUPPORT 2024-08-09 17:37:03 -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
disasm_bpf.c perf bpf: Move BPF disassembly routines to separate file to avoid clash with capstone bpf headers 2024-08-01 18:54:19 -03:00
disasm_bpf.h perf bpf: Move BPF disassembly routines to separate file to avoid clash with capstone bpf headers 2024-08-01 18:54:19 -03:00
disasm.c perf annotate: LLVM-based disassembler 2024-09-03 10:39:20 -03:00
disasm.h perf annotate: Set instruction name to be used with insn-stat when using raw instruction 2024-07-31 16:12:59 -03:00
dlfilter.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
dlfilter.h perf tests: Add dlfilter test 2021-08-11 09:35:44 -03:00
dso.c perf dso: Constify dso_id 2024-08-19 14:52:13 -03:00
dso.h perf dso: Constify dso_id 2024-08-19 14:52:13 -03:00
dsos.c perf dso: Constify dso_id 2024-08-19 14:52:13 -03:00
dsos.h perf dso: Constify dso_id 2024-08-19 14:52:13 -03:00
dump-insn.c perf script: Minimize "not reaching sample" for '-F +brstackinsn' 2024-09-03 12:22:01 -03:00
dump-insn.h perf script: Minimize "not reaching sample" for '-F +brstackinsn' 2024-09-03 12:22:01 -03:00
dwarf-aux.c perf dwarf-aux: Handle bitfield members from pointer access 2024-08-22 12:32:18 -03:00
dwarf-aux.h perf annotate-data: Show typedef names properly 2024-08-08 09:36:52 -03:00
dwarf-regs.c perf dwarf-regs: Add get_dwarf_regnum() 2023-12-23 10:56:05 -03:00
env.c perf env: Find correct branch counter info on hybrid 2024-09-11 13:08:46 -03:00
env.h perf env: Find correct branch counter info on hybrid 2024-09-11 13:08:46 -03:00
event.c perf buildid-list: Use perf_tool__init 2024-08-12 18:07:10 -03:00
event.h perf buildid-list: Use perf_tool__init 2024-08-12 18:07:10 -03:00
events_stats.h perf tools: Print lost samples due to BPF filter 2024-08-28 18:07:20 -03:00
evlist.c perf trace: Fix perf trace -p <PID> 2024-08-28 18:07:21 -03:00
evlist.h perf evlist: Introduce method to find if there is a bpf-output event 2024-08-28 18:07:21 -03:00
evsel_config.h
evsel_fprintf.c perf python: Remove PYTHON_PERF ifdefs 2024-08-01 18:55:55 -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: Add accessor for tool_event 2024-09-11 11:28:27 -03:00
evsel.h perf evsel: Add accessor for tool_event 2024-09-11 11:28:27 -03: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: parse-events: Fix compilation error while defining DEBUG_PARSER 2024-06-06 00:19:36 -07: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: Add 'profile' command 2024-07-31 16:58:18 -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: remove unused struct 'options' 2024-06-03 22:07:52 -07:00
genelf.h perf genelf: Fix compiling with libelf on rv32 2024-04-18 22:22:51 -03: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 header: Remove repipe option 2024-08-30 09:24:27 -03:00
header.h perf header: Remove repipe option 2024-08-30 09:24:27 -03:00
help-unknown-cmd.c perf help: Lower levenshtein penality for deleting character 2024-03-21 13:54:40 -03:00
help-unknown-cmd.h
hisi-ptt.c perf tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
hisi-ptt.h perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet 2022-10-15 10:13:16 -03:00
hist.c perf report: Fix segfault when 'sym' sort key is not used 2024-08-28 18:20:38 -03:00
hist.h perf tools: Print lost samples due to BPF filter 2024-08-28 18:07:20 -03:00
intel-bts.c perf tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
intel-bts.h
intel-pt.c perf tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
intel-pt.h perf pmu: Lazily compute default config 2023-10-17 12:40:50 -07:00
intel-tpebs.c perf stat: Fork and launch 'perf record' when 'perf stat' needs to get retire latency value for a metric. 2024-08-13 15:24:48 -03:00
intel-tpebs.h perf stat: Fork and launch 'perf record' when 'perf stat' needs to get retire latency value for a metric. 2024-08-13 15:24:48 -03: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 jit: Constify filename argument 2024-08-19 14:51:46 -03:00
jitdump.c perf jit: Constify filename argument 2024-08-19 14:51:46 -03: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
llvm-c-helpers.cpp perf annotate: LLVM-based disassembler 2024-09-03 10:39:20 -03:00
llvm-c-helpers.h perf annotate: LLVM-based disassembler 2024-09-03 10:39:20 -03:00
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 callchain: Allow symbols to be optional when resolving a callchain 2024-09-10 17:32:47 -03:00
machine.h perf callchain: Allow symbols to be optional when resolving a callchain 2024-09-10 17:32:47 -03:00
map_symbol.c perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
map_symbol.h perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
map.c perf inject: Lazy build-id mmap2 event insertion 2024-09-10 17:32:47 -03:00
map.h perf inject: Lazy build-id mmap2 event insertion 2024-09-10 17:32:47 -03:00
maps.c perf maps: Add/use a sorted insert for fixup overlap and insert 2024-06-06 23:31:30 -07: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: Fix missed p-core mem events on ADL and RPL 2024-09-06 11:45:17 -03:00
mem-events.h perf mem: Fix missed p-core mem events on ADL and RPL 2024-09-06 11:45:17 -03:00
mem-info.c perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
mem-info.h perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
memswap.c
memswap.h
metricgroup.c perf pmus: Fake PMU clean up 2024-09-11 11:27:42 -03:00
metricgroup.h perf stat: Add new field in stat_config to enable hardware aware grouping 2024-04-18 22:22:51 -03:00
mmap.c perf python: Remove PYTHON_PERF ifdefs 2024-08-01 18:55:55 -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 pmus: Fake PMU clean up 2024-09-11 11:27:42 -03:00
parse-events.h perf pmus: Fake PMU clean up 2024-09-11 11:27:42 -03:00
parse-events.l perf parse-events: Add a retirement latency modifier 2024-08-12 18:15:27 -03:00
parse-events.y Revert "perf parse-events: Prefer sysfs/JSON hardware events over legacy" 2024-05-26 08:41:34 -03: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/use PMU reverse lookup from config to name 2024-03-21 13:53:45 -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: To info add event_type_desc 2024-09-11 11:29:20 -03:00
pmu.h perf pmu: To info add event_type_desc 2024-09-11 11:29:20 -03:00
pmu.l perf pmu: Make parser reentrant 2023-04-06 21:40:28 -03:00
pmu.y perf pmu: Add YYDEBUG 2023-09-12 17:47:00 -03:00
pmus.c perf pmu: To info add event_type_desc 2024-09-11 11:29:20 -03:00
pmus.h perf pmus: Fake PMU clean up 2024-09-11 11:27:42 -03: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 annotate: Use capstone_init and remove open_capstone_handle from disasm.c 2024-07-31 16:12:59 -03:00
print_insn.h perf annotate: Use capstone_init and remove open_capstone_handle from disasm.c 2024-07-31 16:12:59 -03:00
print-events.c perf list: Give clues if failed to open tracing events directory 2024-08-01 12:11:33 -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 dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03: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 bitops: make BYTES_TO_BITS() treewide-available 2024-04-01 10:49:27 +01:00
probe-finder.h perf tools: Add util/debuginfo.[ch] files 2023-11-10 09:03:54 -03:00
pstack.c
pstack.h
python.c perf python: Fix the build on 32-bit arm by including missing "util/sample.h" 2024-08-19 14:44:21 -03: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 perf cpumap: Clean up use of perf_cpu_map__has_any_cpu_or_is_empty 2024-03-21 10:41:28 -03:00
record.h perf record: 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 tool: Constify tool pointers 2024-08-12 18:05:14 -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 env: Find correct branch counter info on hybrid 2024-09-11 13:08:46 -03:00
session.h perf inject: Overhaul handling of pipe files 2024-08-30 09:23:51 -03:00
setns.c
setup.py perf python: Disable -Wno-cast-function-type-mismatch if present on clang 2024-08-22 17:26:50 -03: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 annotate-data: Add 'typecln' sort key 2024-08-21 11:48:43 -03:00
sort.h perf annotate-data: Add 'typecln' sort key 2024-08-21 11:48:43 -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 report: Support LLVM for addr2line() 2024-09-03 10:15:16 -03:00
srcline.h perf srcline: Add a timeout to reading from addr2line 2023-06-14 18:19:06 -03:00
stat-display.c perf stat: Display iostat headers correctly 2024-08-16 19:35:18 -03:00
stat-shadow.c perf evsel: Add accessor for tool_event 2024-09-11 11:28:27 -03:00
stat.c perf cpumap: Clean up use of perf_cpu_map__has_any_cpu_or_is_empty 2024-03-21 10:41:28 -03:00
stat.h perf stat: Add new field in stat_config to enable hardware aware grouping 2024-04-18 22:22:51 -03: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 cpumap: Use perf_cpu_map__for_each_cpu when possible 2024-03-21 10:41:28 -03:00
svghelper.h
symbol_conf.h perf script: add --addr2line option 2024-08-12 13:59:22 -03:00
symbol_fprintf.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
symbol-elf.c perf symbol-elf: dso__load_sym_internal() reference count fixes 2024-05-06 16:07:30 -03:00
symbol-minimal.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
symbol.c perf cap: Tidy up and improve capability testing 2024-08-20 17:53:12 -03:00
symbol.h perf mem-info: Move mem-info out of mem-events and symbol 2024-05-07 18:06:44 -03:00
symsrc.h perf symbols: Allow for static executables with .plt 2023-02-01 21:51:51 -03:00
synthetic-events.c perf inject: Add new mmap2-buildid-all option 2024-09-10 17:32:47 -03:00
synthetic-events.h perf inject: Add new mmap2-buildid-all option 2024-09-10 17:32:47 -03:00
syscalltbl.c perf tools: Build x86 32-bit syscall table from arch/x86/entry/syscalls/syscall_32.tbl 2024-09-02 11:13:40 -03:00
syscalltbl.h perf trace: Fix iteration of syscall ids in syscalltbl->entries 2024-07-12 09:49:02 -07: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 callchain: Fix stitch LBR memory leaks 2024-08-08 17:30:27 -03:00
thread.h perf callchain: Fix stitch LBR memory leaks 2024-08-08 17:30:27 -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 perf time-utils: Fix 32-bit nsec parsing 2024-09-03 11:21:55 -03:00
time-utils.h
tool.c perf tool: Remove perf_tool__fill_defaults() 2024-08-12 18:13:58 -03:00
tool.h perf tool: Remove perf_tool__fill_defaults() 2024-08-12 18:13:58 -03:00
top.c perf top: Avoid repeated function calls to perf_cpu_map__nr(). 2023-12-18 21:34:39 -03:00
top.h perf top: Convert to the global annotation_options 2023-12-07 16:47:55 -03:00
topdown.c perf stat: Implement --topdown using json metrics 2023-02-19 08:07:24 -03:00
topdown.h perf stat: Implement --topdown using json metrics 2023-02-19 08:07:24 -03:00
trace_augment.h perf trace: Pretty print buffer data 2024-09-10 09:52:13 -03:00
trace-event-info.c perf trace-event-info: Avoid passing NULL value to closedir 2023-10-12 10:01:57 -07:00
trace-event-parse.c perf 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: 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 tool: Constify tool pointers 2024-08-12 18:05:14 -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 dso: Fix address sanitizer build 2024-07-12 09:38:41 -07: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 dso: Fix build when libunwind is enabled 2024-07-17 13:17:57 -07:00
unwind-libunwind.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
unwind.h perf unwind: Use perf_arch_reg_{ip|sp}() to substitute macros 2023-08-16 08:48:06 -03:00
usage.c perf usage: Move usage strings 2023-04-10 19:20:53 -03:00
util.c perf cap: Tidy up and improve capability testing 2024-08-20 17:53:12 -03:00
util.h perf list: Add scandirat compatibility function 2024-02-22 09:11:41 -08:00
values.c
values.h perf hist: Move histogram related code to hist.h 2024-04-17 12:21:39 -03:00
vdso.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -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