linux/tools/perf
Ian Rogers abcff00014 perf parse-events: Add terms for legacy hardware and cache config values
Add the PMU terms legacy-hardware-config and
legacy-cache-config. These terms are similar to the config term in
that their values are assigned to the perf_event_attr config
value. They differ in that the PMU type is switched to be either
PERF_TYPE_HARDWARE or PERF_TYPE_HW_CACHE, and the PMU type is moved
into the extended type information of the config value. This will
allow later patches to add legacy events to json.

An example use of the terms is in the following:
```
$ perf stat -vv -e 'cpu/legacy-hardware-config=1/,cpu/legacy-cache-config=0x10001/' true
Using CPUID GenuineIntel-6-8D-1
Attempt to add: cpu/legacy-hardware-config=0x1/
..after resolving event: cpu/legacy-hardware-config=0x1/
Attempt to add: cpu/legacy-cache-config=0x10001/
..after resolving event: cpu/legacy-cache-config=0x10001/
Control descriptor is not initialized
------------------------------------------------------------
perf_event_attr:
  type                             0 (PERF_TYPE_HARDWARE)
  size                             136
  config                           0x1 (PERF_COUNT_HW_INSTRUCTIONS)
  sample_type                      IDENTIFIER
  read_format                      TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING
  disabled                         1
  inherit                          1
  enable_on_exec                   1
------------------------------------------------------------
sys_perf_event_open: pid 994937  cpu -1  group_fd -1  flags 0x8 = 3
------------------------------------------------------------
perf_event_attr:
  type                             3 (PERF_TYPE_HW_CACHE)
  size                             136
  config                           0x10001 (PERF_COUNT_HW_CACHE_RESULT_MISS | PERF_COUNT_HW_CACHE_OP_READ | PERF_COUNT_HW_CACHE_L1I)
  sample_type                      IDENTIFIER
  read_format                      TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING
  disabled                         1
  inherit                          1
  enable_on_exec                   1
------------------------------------------------------------
sys_perf_event_open: pid 994937  cpu -1  group_fd -1  flags 0x8 = 4
cpu/legacy-hardware-config=1/: -1: 1364046 414756 414756
cpu/legacy-cache-config=0x10001/: -1: 57453 414756 414756
cpu/legacy-hardware-config=1/: 1364046 414756 414756
cpu/legacy-cache-config=0x10001/: 57453 414756 414756

 Performance counter stats for 'true':

         1,364,046      cpu/legacy-hardware-config=1/
            57,453      cpu/legacy-cache-config=0x10001/

       0.001988593 seconds time elapsed

       0.002194000 seconds user
       0.000000000 seconds sys
```

Tested-by: Thomas Richter <tmricht@linux.ibm.com>
Signed-off-by: Ian Rogers <irogers@google.com>
Tested-by: James Clark <james.clark@linaro.org>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2025-10-15 23:59:10 +09:00
..
arch perf parse-events: Remove unused FILE input argument to scanner 2025-10-15 23:59:10 +09:00
bench - Simplify inline asm flag output operands now that the minimum compiler 2025-10-11 10:51:14 -07:00
check-header_ignore_hunks/lib
dlfilters
Documentation perf docs: Document building with Clang 2025-10-06 16:49:25 -03:00
include/perf perf dso: Move build_id to dso_id 2025-07-25 10:37:56 -07:00
jvmti
pmu-events perf jevents: Support copying the source json files to OUTPUT 2025-10-15 23:59:10 +09:00
python perf ilist: Add support for metrics 2025-09-03 12:34:54 -03:00
scripts perf build: Disable thread safety analysis for perl header 2025-10-06 16:49:25 -03:00
tests perf parse-events: Remove unused FILE input argument to scanner 2025-10-15 23:59:10 +09:00
trace tools headers: Sync uapi/linux/vhost.h with the kernel source 2025-08-18 13:49:26 -07:00
ui tools build: Remove feature-libslang-include-subdir 2025-10-03 16:49:51 -03:00
util perf parse-events: Add terms for legacy hardware and cache config values 2025-10-15 23:59:10 +09:00
.gitignore perf tools: Remove libtraceevent in .gitignore 2025-07-26 15:38:10 -07:00
Build
builtin-annotate.c perf annotate: Add --code-with-type support for TUI 2025-08-28 12:33:08 -03:00
builtin-bench.c perf bench mem: Add mmap() workloads 2025-09-19 12:43:59 -03:00
builtin-buildid-cache.c perf symbol: Add blocking argument to filename__read_build_id 2025-08-25 15:07:18 -07:00
builtin-buildid-list.c perf machine: Explicitly pass in host perf_env 2025-07-25 10:37:57 -07:00
builtin-c2c.c perf sort: Use perf_env to set arch sort keys and header 2025-07-25 10:37:58 -07:00
builtin-check.c perf check: Add libLLVM feature 2025-10-06 15:24:13 -03:00
builtin-config.c
builtin-daemon.c
builtin-data.c
builtin-diff.c perf sort: Use perf_env to set arch sort keys and header 2025-07-25 10:37:58 -07:00
builtin-evlist.c
builtin-ftrace.c perf: ftrace: add graph tracer options args/retval/retval-hex/retaddr 2025-07-22 17:47:22 -07:00
builtin-help.c
builtin-inject.c perf symbol: Add blocking argument to filename__read_build_id 2025-08-25 15:07:18 -07:00
builtin-kallsyms.c perf machine: Explicitly pass in host perf_env 2025-07-25 10:37:57 -07:00
builtin-kmem.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
builtin-kvm.c perf tools kvm: Use "cycles" to sample guest for "kvm top" on Intel 2025-10-02 15:31:55 -03:00
builtin-kwork.c perf tools kwork: Add missed memory allocation check and free 2025-10-02 15:30:30 -03:00
builtin-list.c perf list: Skip ABI PMUs when printing pmu values 2025-07-26 16:31:43 -07:00
builtin-lock.c perf lock: Provide a host_env for session new 2025-09-12 17:53:03 -07:00
builtin-mem.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
builtin-probe.c
builtin-record.c perf record: Skip don't fail for events that don't open 2025-10-15 23:59:10 +09:00
builtin-report.c perf sort: Use perf_env to set arch sort keys and header 2025-07-25 10:37:58 -07:00
builtin-sched.c perf sched: Avoid union type punning undefined behavior 2025-10-01 11:22:04 -03:00
builtin-script.c perf capstone: Move capstone functionality into its own file 2025-10-02 15:36:59 -03:00
builtin-stat.c perf stat: Avoid wildcarding PMUs for default events 2025-10-15 23:59:10 +09:00
builtin-timechart.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
builtin-top.c perf sort: Use perf_env to set arch sort keys and header 2025-07-25 10:37:58 -07:00
builtin-trace.c perf trace: Fix IS_ERR() vs NULL check bug 2025-09-19 12:42:07 -03:00
builtin-version.c
builtin.h
check-headers.sh tools include: Add headers to make tools builds more hermetic 2025-10-02 15:13:19 -03:00
command-list.txt
CREDITS
design.txt
Makefile
Makefile.config perf build: Support build with clang 2025-10-06 16:49:25 -03:00
Makefile.perf perf jevents: Support copying the source json files to OUTPUT 2025-10-15 23:59:10 +09:00
MANIFEST
perf-archive.sh
perf-completion.sh
perf-iostat.sh
perf-read-vdso.c
perf-sys.h
perf.c perf env: Remove global perf_env 2025-07-25 10:37:58 -07:00
perf.h perf: Completely remove possibility to override MAX_NR_CPUS 2025-09-12 10:52:22 -03:00