linux/tools/perf/util
Zhengjun Xing 9a0b36266f perf stat: Add topdown metrics in the default perf stat on the hybrid machine
Topdown metrics are missed in the default perf stat on the hybrid machine,
add Topdown metrics in default perf stat for hybrid systems.

Currently, we support the perf metrics Topdown for the p-core PMU in the
perf stat default, the perf metrics Topdown support for e-core PMU will be
implemented later separately. Refactor the code adds two x86 specific
functions. Widen the size of the event name column by 7 chars, so that all
metrics after the "#" become aligned again.

The perf metrics topdown feature is supported on the cpu_core of ADL. The
dedicated perf metrics counter and the fixed counter 3 are used for the
topdown events. Adding the topdown metrics doesn't trigger multiplexing.

Before:

 # ./perf  stat  -a true

 Performance counter stats for 'system wide':

             53.70 msec cpu-clock                 #   25.736 CPUs utilized
                80      context-switches          #    1.490 K/sec
                24      cpu-migrations            #  446.951 /sec
                52      page-faults               #  968.394 /sec
         2,788,555      cpu_core/cycles/          #   51.931 M/sec
           851,129      cpu_atom/cycles/          #   15.851 M/sec
         2,974,030      cpu_core/instructions/    #   55.385 M/sec
           416,919      cpu_atom/instructions/    #    7.764 M/sec
           586,136      cpu_core/branches/        #   10.916 M/sec
            79,872      cpu_atom/branches/        #    1.487 M/sec
            14,220      cpu_core/branch-misses/   #  264.819 K/sec
             7,691      cpu_atom/branch-misses/   #  143.229 K/sec

       0.002086438 seconds time elapsed

After:

 # ./perf stat  -a true

 Performance counter stats for 'system wide':

             61.39 msec cpu-clock                        #   24.874 CPUs utilized
                76      context-switches                 #    1.238 K/sec
                24      cpu-migrations                   #  390.968 /sec
                52      page-faults                      #  847.097 /sec
         2,753,695      cpu_core/cycles/                 #   44.859 M/sec
           903,899      cpu_atom/cycles/                 #   14.725 M/sec
         2,927,529      cpu_core/instructions/           #   47.690 M/sec
           428,498      cpu_atom/instructions/           #    6.980 M/sec
           581,299      cpu_core/branches/               #    9.470 M/sec
            83,409      cpu_atom/branches/               #    1.359 M/sec
            13,641      cpu_core/branch-misses/          #  222.216 K/sec
             8,008      cpu_atom/branch-misses/          #  130.453 K/sec
        14,761,308      cpu_core/slots/                  #  240.466 M/sec
         3,288,625      cpu_core/topdown-retiring/       #     22.3% retiring
         1,323,323      cpu_core/topdown-bad-spec/       #      9.0% bad speculation
         5,477,470      cpu_core/topdown-fe-bound/       #     37.1% frontend bound
         4,679,199      cpu_core/topdown-be-bound/       #     31.7% backend bound
           646,194      cpu_core/topdown-heavy-ops/      #      4.4% heavy operations       #     17.9% light operations
         1,244,999      cpu_core/topdown-br-mispredict/  #      8.4% branch mispredict      #      0.5% machine clears
         3,891,800      cpu_core/topdown-fetch-lat/      #     26.4% fetch latency          #     10.7% fetch bandwidth
         1,879,034      cpu_core/topdown-mem-bound/      #     12.7% memory bound           #     19.0% Core bound

       0.002467839 seconds time elapsed

Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Acked-by: Ian Rogers <irogers@google.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220721065706.2886112-6-zhengjun.xing@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-07-29 13:43:34 -03:00
..
arm-spe-decoder perf arm-spe: Add SPE total latency as PERF_SAMPLE_WEIGHT 2021-12-16 12:18:11 -03:00
bpf_skel perf kwork: Add workqueue trace BPF support 2022-07-26 16:31:54 -03:00
c++ perf clang: Fix header include for LLVM >= 14 2022-04-22 18:39:34 -03:00
cs-etm-decoder perf cs-etm: Print the decoder name 2021-09-03 08:17:25 -03:00
include linkage: remove SYM_FUNC_{START,END}_ALIAS() 2022-02-22 16:21:34 +00:00
intel-pt-decoder perf intel-pt: Add support for emulated ptwrite 2022-05-17 11:55:49 -03:00
libunwind perf unwind arm64: Use perf's copy of kernel headers 2022-05-26 12:36:58 -03:00
scripting-engines perf scripting perl: Ignore some warnings to keep building with perl headers 2022-07-20 11:09:11 -03:00
affinity.c perf affinity: Allow passing a NULL arg to affinity__cleanup() 2022-01-18 09:24:58 -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: Support new IBS bits in raw trace dump 2022-06-24 13:18:55 -03:00
annotate.c perf annotate: Drop objdump stderr to avoid getting stuck waiting for stdout output 2022-04-09 14:21:00 -03:00
annotate.h perf symbols: Factor out annotation init/exit 2021-11-13 18:11:51 -03:00
archinsn.h perf script: Support insn output for normal samples 2019-03-11 11:56:02 -03: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 arm64: Inject missing frames when using 'perf record --call-graph=fp' 2021-12-21 18:37:13 -03:00
arm-spe.c perf arm-spe: Don't set data source if it's not a memory operation 2022-06-19 10:41:43 -03:00
arm-spe.h
auxtrace.c perf auxtrace: Add machine_pid and vcpu to auxtrace_error 2022-07-20 11:08:17 -03:00
auxtrace.h perf auxtrace: Add machine_pid and vcpu to auxtrace_error 2022-07-20 11:08:17 -03:00
block-info.c perf report: Fix wrong LBR block sorting 2021-04-07 16:18:49 -03:00
block-info.h perf block-info: Allow selecting which columns to report and its order 2020-03-09 21:43:25 -03:00
block-range.c
block-range.h
bpf_counter_cgroup.c perf cpumap: Switch to using perf_cpu_map API 2022-05-05 14:07:27 -03:00
bpf_counter.c perf build: Stop using __weak bpf_map_create() to handle older libbpf versions 2022-05-26 12:36:56 -03:00
bpf_counter.h perf bpf: Rename 'cpu' to 'cpu_map_idx' 2022-01-12 14:28:23 -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: Add workqueue trace BPF support 2022-07-26 16:31:54 -03:00
bpf_map.c perf: Stop using bpf_map__def() API 2022-01-12 17:01:38 -08:00
bpf_map.h
bpf_off_cpu.c perf offcpu: Accept allowed sample types only 2022-06-28 11:45:45 -03:00
bpf-event.c perf build: Stop using __weak btf__raw_data() to handle older libbpf versions 2022-05-26 11:02:02 -03:00
bpf-event.h perf bpf: Pull in bpf_program__get_prog_info_linear() 2021-11-01 18:16:40 -03:00
bpf-loader.c perf tools: Move libbpf init in libbpf_init function 2022-04-22 14:02:15 -03:00
bpf-loader.h perf bpf: Enclose libbpf.h include within HAVE_LIBBPF_SUPPORT 2020-11-04 09:42:40 -03:00
bpf-prologue.c perf bpf: Fix bpf prologue generation 2020-06-09 12:40:04 -03:00
bpf-prologue.h
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: Add irq and exception return branch types 2022-03-01 16:19:01 +01:00
branch.h perf branch: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
Build perf kwork: Implement BPF trace 2022-07-26 16:31:54 -03:00
build-id.c perf buildid-cache: Do not require purge files to also be in the file system 2022-07-20 11:07:58 -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
cacheline.c perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
cacheline.h perf cacheline: Move cacheline related routines to separate files 2019-08-26 11:58:29 -03:00
call-path.c perf tools: Use list_del_init() more thorougly 2019-07-09 10:13:27 -03:00
call-path.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
callchain.c perf record: Allow to specify max stack depth of fp callchain 2022-07-12 09:56:05 -03:00
callchain.h perf callchain: Enable dwarf_callchain_users on arm64 2021-12-21 18:35:44 -03:00
cap.c perf tools: Add helpers to use capabilities if present 2019-08-14 10:48:39 -03:00
cap.h perf tools: Support CAP_PERFMON capability 2020-04-16 12:19:08 -03:00
cgroup.c libperf: Move 'leader' from tools/perf to perf_evsel::leader 2021-07-09 14:04:31 -03:00
cgroup.h perf stat: Enable BPF counter with --for-each-cgroup 2021-07-05 14:16:57 -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 tool: Make perf tool aware of SELinux access control 2020-05-28 10:03:26 -03:00
cloexec.h
color_config.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
color.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
color.h
comm.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
comm.h
compress.h perf report: Implement perf.data record decompression 2019-05-15 16:36:49 -03:00
config.c perf config: Refine error message to eliminate confusion 2021-09-27 09:32:28 -03:00
config.h perf config: Make perf_config_global() global 2021-01-20 14:34:21 -03:00
copyfile.c perf tools: Fix mode setting in copyfile_mode_ns() 2019-10-15 12:05:18 -03:00
copyfile.h perf copyfile: Move copyfile routines to separate files 2019-09-25 09:51:49 -03:00
counts.c perf cpumap: Migrate to libperf cpumap api 2022-01-22 17:08:42 -03:00
counts.h perf counts: Switch name cpu to cpu_map_idx 2022-01-12 14:28:22 -03:00
cpu-set-sched.h
cpumap.c perf cpumap: Give CPUs their own type 2022-01-12 14:28:23 -03:00
cpumap.h perf cpumap: Remove duplicate include in cpumap.h 2022-01-22 17:12:23 -03:00
cputopo.c perf cpumap: Migrate to libperf cpumap api 2022-01-22 17:08:42 -03:00
cputopo.h perf cputopo: Match thread_siblings to topology ABI name 2021-11-13 18:11:50 -03:00
cs-etm.c perf cs-etm: Fix duplicated 'the' in comment 2022-07-20 11:09:11 -03:00
cs-etm.h perf cs-etm: Save TRCDEVARCH register 2021-09-03 08:15:10 -03:00
data-convert-bt.c tools/perf: Add '__rel_loc' event field parsing support 2021-12-06 15:37:22 -05:00
data-convert-json.c perf data convert: Prefer sampled CPU when exporting JSON 2022-06-23 11:54:21 -03:00
data-convert.h perf data: Add JSON export 2021-04-29 10:30:58 -03:00
data.c perf tools: Automatically use guest kcore_dir if present 2022-07-20 11:08:37 -03:00
data.h perf data: Add missing unistd.h header needed for pid_t 2022-07-25 18:10:43 -03:00
db-export.c perf scripting python: Add 'addr_location' for 'addr' 2021-05-25 10:07: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 script: Fix hex dump character output 2022-01-12 14:28:21 -03:00
debug.h perf tools: Add WARN_ONCE equivalent for UI warnings 2021-08-03 17:03:18 -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 perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
demangle-rust.h
dlfilter.c perf dlfilter: Add machine_pid and vcpu 2022-07-20 11:08:13 -03:00
dlfilter.h perf tests: Add dlfilter test 2021-08-11 09:35:44 -03:00
dso.c perf tools: Try chroot'ed filename when opening dso/symbol 2022-02-10 15:32:25 -03:00
dso.h perf tools: Export dsos__for_each_with_build_id() 2022-07-20 11:07:02 -03:00
dsos.c perf tools: Fix dso_id inode generation comparison 2022-07-19 16:19:00 -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 probe: Fix add event failure when running 32-bit perf in a 64-bit kernel 2021-07-18 09:31:15 -03:00
dwarf-aux.h perf probe: Fix add event failure when running 32-bit perf in a 64-bit kernel 2021-07-18 09:31:15 -03:00
dwarf-regs.c perf tools: Support MIPS unwinding and dwarf-regs 2021-03-01 14:47:50 -03:00
env.c perf header: Record non-CPU PMU capabilities 2022-06-24 13:18:55 -03:00
env.h perf header: Record non-CPU PMU capabilities 2022-06-24 13:18:55 -03:00
event.c perf record: Add finished init event 2022-06-23 11:54:22 -03:00
event.h perf tools: Add perf_event__is_guest() 2022-07-20 11:08:42 -03:00
events_stats.h perf session: Report collisions in AUX records 2021-09-03 08:29:55 -03:00
evlist-hybrid.c perf evlist: Fix failed to use cpu list for uncore events 2022-02-18 09:59:26 -03:00
evlist-hybrid.h perf tools: Enable on a list of CPUs for hybrid 2021-08-11 16:07:32 -03:00
evlist.c perf x86 evlist: Add default hybrid events for perf stat 2022-07-29 13:42:35 -03:00
evlist.h perf x86 evlist: Add default hybrid events for perf stat 2022-07-29 13:42:35 -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 script: Show binary offsets for userspace addr 2021-10-27 20:56:36 -03:00
evsel_fprintf.h perf evsel: Rename perf_evsel__fprintf() to evsel__fprintf() 2020-05-28 10:03:24 -03:00
evsel.c perf evsel: Add arch_evsel__hw_name() 2022-07-29 13:41:19 -03:00
evsel.h perf evsel: Add arch_evsel__hw_name() 2022-07-29 13:41:19 -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 evswitch: Introduce init() method to set the on/off evsels from the command line 2019-08-15 12:25:55 -03:00
expr.c perf tsc: Add arch TSC frequency information 2022-07-25 12:28:00 -03:00
expr.h perf expr: Add source_count for aggregating events 2021-11-13 18:11:50 -03:00
expr.l perf expr: Allow exponents on floating point values 2022-06-19 10:41:43 -03:00
expr.y perf expr: Add source_count for aggregating events 2021-11-13 18:11: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 latency: Add -n/--use-nsec option 2022-03-22 17:43:46 -03:00
genelf_debug.c perf jit: Fix inaccurate DWARF line table 2020-05-29 16:51:38 -03:00
genelf.c perf jit: Move test functionality in to a test 2019-11-29 12:20:45 -03:00
genelf.h perf jitdump: Add riscv64 support 2022-04-11 16:37:26 -03:00
generate-cmdlist.sh
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 perf tools: Move get_current_dir_name() cond prototype out of util.h 2019-07-09 10:13:26 -03:00
hashmap.c perf tools: Update copy of libbpf's hashmap.c 2022-04-01 16:19:34 -03:00
hashmap.h perf tools: Update copy of libbpf's hashmap.c 2020-11-27 14:19:33 -03:00
header.c Merge remote-tracking branch 'torvalds/master' into perf/core 2022-07-18 10:36:11 -03:00
header.h Merge remote-tracking branch 'torvalds/master' into perf/core 2022-07-18 10:36:11 -03:00
help-unknown-cmd.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
help-unknown-cmd.h
hist.c perf report: Add "addr_from" and "addr_to" sort dimensions 2022-02-16 11:21:22 -03:00
hist.h perf report: Add "addr_from" and "addr_to" sort dimensions 2022-02-16 11:21:22 -03:00
intel-bts.c perf tools: Use __BYTE_ORDER__ 2021-11-07 12:27:38 -03:00
intel-bts.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
intel-pt.c perf intel-pt: Use guest pid/tid etc in guest samples 2022-07-20 11:09:04 -03:00
intel-pt.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02: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: Basic support for iostat in perf 2021-04-20 08:40:20 -03:00
iostat.h perf stat: Basic support for iostat in perf 2021-04-20 08:40:20 -03:00
jit.h perf inject jit: Add namespaces support 2021-02-03 13:10:44 -03:00
jitdump.c perf namespaces: Add functions to access nsinfo 2022-02-11 14:31:22 -03: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: Add arch neutral function to choose event for perf kvm record 2019-09-20 10:28:26 -03:00
kwork.h perf kwork: Implement BPF trace 2022-07-26 16:31:54 -03:00
levenshtein.c perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
levenshtein.h
llvm-utils.c perf tools: Fix LLVM download hint link 2021-08-31 15:18:16 -03:00
llvm-utils.h perf tools: Remove debug.h from header files not needing it 2019-08-29 17:38:32 -03:00
lzma.c perf lzma: Close lzma stream on exit 2021-07-15 17:30:22 -03:00
machine.c perf tools: Handle injected guest kernel mmap event 2022-07-20 11:08:37 -03:00
machine.h perf machine: Use realloc_array_as_needed() in machine__set_current_tid() 2022-07-20 11:08:37 -03:00
map_symbol.h perf tools: Apply correct label to user/kernel symbols in branch mode 2022-02-06 09:03:06 -03:00
map.c perf tools: Set build-id using build-id header on new mmap records 2022-03-12 11:01:12 -03:00
map.h perf map: Make map__contains_symbol() args const 2022-02-14 16:59:55 -03:00
maps.c perf maps: Move maps code to own C file 2022-02-14 16:56:32 -03:00
maps.h perf maps: Reduce scope of init and exit 2022-02-14 16:52:14 -03:00
mem2node.c perf mem2node: Improve warning if detected no memory nodes 2020-11-04 09:42:40 -03:00
mem2node.h perf env: Remove env.h from other headers where just a fwd decl is needed 2019-08-31 19:10:40 -03:00
mem-events.c perf mem: Add stats for store operation with no available memory level 2022-05-23 09:36:12 -03:00
mem-events.h perf mem: Add stats for store operation with no available memory level 2022-05-23 09:36:12 -03:00
memswap.c
memswap.h perf memswap: Adopt 'struct u64_swap' from evsel.h 2019-09-20 09:19:22 -03:00
metricgroup.c perf metrics: Ensure at least 1 id per metric 2022-06-19 11:24:05 -03:00
metricgroup.h perf list: Display hybrid PMU events with cpu type 2021-10-25 13:47:42 -03:00
mmap.c perf auxtrace: Remove auxtrace_mmap_params__set_idx() per_cpu parameter 2022-05-26 12:36:57 -03:00
mmap.h perf record: Introduce compressor at mmap buffer object 2022-02-10 16:26:24 -03:00
namespaces.c perf namespaces: Add functions to access nsinfo 2022-02-11 14:31:22 -03:00
namespaces.h perf namespaces: Add functions to access nsinfo 2022-02-11 14:31:22 -03:00
off_cpu.h perf offcpu: Accept allowed sample types only 2022-06-28 11:45:45 -03:00
ordered-events.c perf report: Output data file name in raw trace dump 2022-02-10 16:27:34 -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 debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
parse-branch-options.h
parse-events-hybrid.c perf stat: Support --cputype option for hybrid events 2021-12-07 22:18:25 -03:00
parse-events-hybrid.h perf parse-events: Add new "metric-id" term 2021-10-20 10:54:44 -03:00
parse-events.c perf stat: Add requires_cpu flag for uncore 2022-05-26 12:36:57 -03:00
parse-events.h perf parse-events: Support event alias in form foo-bar-baz 2022-01-22 17:20:12 -03:00
parse-events.l perf stat: Add user_time and system_time events 2022-04-20 13:44:56 -03:00
parse-events.y perf parse-events: Support event alias in form foo-bar-baz 2022-01-22 17:20:12 -03:00
parse-regs-options.c perf record: Fix memory leak when using '--user-regs=?' to list registers 2020-12-17 14:36:16 -03:00
parse-regs-options.h perf parse-regs: Split parse_regs 2019-05-15 16:36:49 -03:00
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 test: Shell - Limit to only run executable scripts in tests 2022-04-11 16:39:49 -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 perf cpumap: Migrate to libperf cpumap api 2022-01-22 17:08:42 -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 missing branch_sample_type to perf_event_attr__fprintf() 2022-02-06 09:03:06 -03:00
perf_regs.c perf tools arm64: Add support for VG register 2022-05-27 13:21:33 -03:00
perf_regs.h perf tools: Refactor SMPL_REG macro in perf_regs.h 2021-12-21 18:35:44 -03:00
perf-hooks-list.h
perf-hooks.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
perf-hooks.h
PERF-VERSION-GEN perf tools: Fix version kernel tag 2022-03-22 17:12:40 -03:00
pfm.c perf parse-events: Add new "metric-id" term 2021-10-20 10:54:44 -03:00
pfm.h perf tools: Add optional support for libpfm4 2020-05-29 16:51:38 -03:00
pmu-hybrid.c perf pmu: Add hybrid helper functions 2021-04-29 10:30:59 -03:00
pmu-hybrid.h perf header: Support HYBRID_TOPOLOGY feature 2021-05-17 10:55:10 -03:00
pmu.c perf pmu: Parse pmu caps sysfs only once 2022-06-24 13:18:55 -03:00
pmu.h perf pmu: Parse pmu caps sysfs only once 2022-06-24 13:18:55 -03:00
pmu.l
pmu.y
print_binary.c perf python scripting: Fix printable strings in python3 scripts 2020-10-01 12:10:56 -03:00
print_binary.h
probe-event.c perf probe: Fix duplicated 'the' in comment 2022-07-20 11:09:11 -03:00
probe-event.h perf probe: Fix add event failure when running 32-bit perf in a 64-bit kernel 2021-07-18 09:31:15 -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: Fix add event failure when running 32-bit perf in a 64-bit kernel 2021-07-18 09:31:15 -03:00
probe-finder.h perf probe: Fix add event failure when running 32-bit perf in a 64-bit kernel 2021-07-18 09:31:15 -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 unwind: Use dynamic register set for DWARF unwind 2022-05-26 12:41:36 -03:00
python.c perf python: Add perf_env stubs that will be needed in evsel__open_strerror() 2022-03-26 10:55:57 -03:00
rb_resort.h
rblist.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 305 2019-06-05 17:37:04 +02:00
rblist.h
record.c perf record: Add new option to sample identifier 2022-06-23 11:54:22 -03:00
record.h perf record: Add new option to sample identifier 2022-06-23 11:54:22 -03:00
rlimit.c perf tools: Introduce rlimit__bump_memlock() helper 2019-07-09 14:59:11 -03:00
rlimit.h perf tools: Introduce rlimit__bump_memlock() helper 2019-07-09 14:59:11 -03:00
rwsem.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
rwsem.h
s390-cpumcf-kernel.h perf s390-cpumsf: Implement ->evsel_is_auxtrace() callback 2020-04-16 12:19:15 -03:00
s390-cpumsf-kernel.h
s390-cpumsf.c perf tools: Use __BYTE_ORDER__ 2021-11-07 12:27:38 -03:00
s390-cpumsf.h
s390-sample-raw.c perf pmu: Make pmu_event tables const. 2021-10-20 10:32:33 -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
session.c perf tools: Automatically use guest kcore_dir if present 2022-07-20 11:08:37 -03:00
session.h perf tools: Export perf_event__process_finished_round() 2022-07-20 11:07:37 -03:00
setns.c perf namespaces: Move the conditional setns() prototype to namespaces.h 2019-07-09 10:13:26 -03:00
setup.py perf python: Ignore unused command line arguments when building with clang 2022-07-20 15:14:39 -03:00
sideband_evlist.c perf evlist: Rename cpus to user_requested_cpus 2022-04-01 16:19:35 -03:00
smt.c perf tools: Probe non-deprecated sysfs path 1st 2022-01-12 14:43:34 -03:00
smt.h
sort.c perf report: Add "addr_from" and "addr_to" sort dimensions 2022-02-16 11:21:22 -03:00
sort.h perf report: Add "addr_from" and "addr_to" sort dimensions 2022-02-16 11:21:22 -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: Use long-running addr2line per DSO 2021-10-04 09:29:07 -03:00
srcline.h
stat-display.c perf stat: Add topdown metrics in the default perf stat on the hybrid machine 2022-07-29 13:43:34 -03:00
stat-shadow.c perf metrics: Support all tool events 2022-05-09 10:16:49 -03:00
stat.c perf stat: Make use of index clearer with perf_counts 2022-05-23 09:54:02 -03:00
stat.h perf stat: Merge event counts from all hybrid PMUs 2022-04-22 14:23:35 -03:00
strbuf.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
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 lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
strfilter.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
string2.h perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
string.c perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
strlist.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
strlist.h
svghelper.c perf cpumap: Migrate to libperf cpumap api 2022-01-22 17:08:42 -03:00
svghelper.h perf timechart: Refactor svg_build_topology_map() 2019-08-29 17:38:31 -03:00
symbol_conf.h perf tools: Add guest_code support 2022-05-23 10:18:38 -03:00
symbol_fprintf.c perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars 2021-03-08 11:17:51 -03:00
symbol-elf.c perf symbol: Pass is_kallsyms to symbols__fixup_end() 2022-04-28 10:51:20 -03:00
symbol-minimal.c perf tools: Pass build_id object to dso__set_build_id() 2020-10-14 08:46:42 -03:00
symbol.c perf tools: Automatically use guest kcore_dir if present 2022-07-20 11:08:37 -03:00
symbol.h perf symbol: Remove arch__symbols__fixup_end() 2022-04-28 10:51:40 -03:00
symsrc.h perf symbols: Move symsrc prototypes to a separate header 2019-08-31 22:24:05 -03:00
synthetic-events.c perf tools: Add machine_pid and vcpu to id_index 2022-07-20 11:07:58 -03:00
synthetic-events.h perf tools: Add machine_pid and vcpu to id_index 2022-07-20 11:07:58 -03:00
syscalltbl.c perf tools: Generate mips syscalls_n64.c syscall table 2021-03-01 14:49:28 -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 tools: Create hybrid flag in target 2021-08-11 16:04:33 -03:00
term.c
term.h
thread_map.c libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix 2019-08-29 08:36:12 -03:00
thread_map.h libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix 2019-08-29 08:36:12 -03:00
thread-stack.c perf thread-stack: Add thread_stack__br_sample_late() 2020-05-05 16:35:29 -03:00
thread-stack.h perf tools: Remove duplicate struct forward declarations 2021-03-25 08:59:10 -03:00
thread.c perf tools: Add guest_cpu to hypervisor threads 2022-07-20 11:08:04 -03:00
thread.h perf tools: Add guest_cpu to hypervisor threads 2022-07-20 11:08:04 -03: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 evlist: Rename cpus to user_requested_cpus 2022-04-01 16:19:35 -03:00
top.h perf tui: Only support --tui with slang 2022-02-15 17:15:29 -03:00
topdown.c perf stat: Add topdown metrics in the default perf stat on the hybrid machine 2022-07-29 13:43:34 -03:00
topdown.h perf stat: Add topdown metrics in the default perf stat on the hybrid machine 2022-07-29 13:43:34 -03:00
trace-event-info.c perf trace-event-info: Rename for_each_event. 2021-02-03 13:13:53 -03:00
trace-event-parse.c perf tools: Use ARRAY_SIZE() instead of ad hoc equivalent, spotted by array_size.cocci 2022-03-07 14:54:54 -03:00
trace-event-read.c perf traceevent: Ensure read cmdlines are null terminated. 2021-03-06 16:54:26 -03:00
trace-event-scripting.c perf scripting: Add perf_session to scripting_context 2021-06-01 10:03:17 -03:00
trace-event.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
trace-event.h perf script python: Allow reporting the [un]throttle PERF_RECORD_ meta event 2021-09-03 08:18:25 -03:00
trigger.h perf tools: Remove debug.h from header files not needing it 2019-08-29 17:38:32 -03:00
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 unwind: Don't show unwind error messages when augmenting frame pointer stack 2022-04-09 12:34:29 -03: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 unwind: Fix unitialized 'offset' variable on aarch64 2022-07-02 09:16:52 -03:00
unwind-libunwind.c perf unwind: Don't show unwind error messages when augmenting frame pointer stack 2022-04-09 12:34:29 -03:00
unwind.h perf unwind: Don't show unwind error messages when augmenting frame pointer stack 2022-04-09 12:34:29 -03:00
usage.c perf tools: Remove debug.h from places where it is not needed 2019-09-20 09:19:20 -03:00
util.c perf tools: Add reallocarray_as_needed() 2022-07-20 11:08:37 -03:00
util.h perf tools: Add reallocarray_as_needed() 2022-07-20 11:08:37 -03:00
values.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
values.h
vdso.c perf record: Fix memory leak in vDSO found using ASAN 2021-03-24 10:38:56 -03:00
vdso.h
zlib.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
zstd.c perf tools: Use %zd for size_t printf formats on 32-bit 2020-09-01 12:15:21 -03:00