[PATCH v4 0/2] perf header: Support HYBRID_TOPOLOGY and HYBRID_CPU_PMU_CAPS
From: Jin Yao
Date: Fri May 14 2021 - 08:31:13 EST
AlderLake uses a hybrid architecture utilizing Golden Cove cores
(core cpu) and Gracemont cores (atom cpu). It would be useful to let user
know the hybrid topology, the HYBRID_TOPOLOGY feature in header indicates
which cpus are core cpus, and which cpus are atom cpus.
On hybrid platform, it may have several cpu pmus, such as, "cpu_core" and
"cpu_atom". The HYBRID_CPU_PMU_CAPS feature in perf header is created to
support multiple cpu pmus.
v4:
---
- Only minor update in '[PATCH v4 2/2] perf header: Support HYBRID_CPU_PMU_CAPS feature'.
1. Directly return process_per_cpu_pmu_caps() in process_cpu_pmu_caps.
Remove the variable 'ret'.
2. Set 'ret = -1' if (!n->pmu_name) in process_hybrid_cpu_pmu_caps().
v3:
---
- For "[PATCH v3 1/2] perf header: Support HYBRID_TOPOLOGY feature",
update HEADER_HYBRID_TOPOLOGY format in perf.data-file-format.txt.
- For "[PATCH v3 2/2] perf header: Support HYBRID_CPU_PMU_CAPS feature",
Don't extend the original CPU_PMU_CAPS to support hybrid cpu pmus.
Instead, create a new feature 'HYBRID_CPU_PMU_CAPS' in header.
v2:
---
- In "perf header: Support HYBRID_TOPOLOGY feature", don't use the n->map
to print the cpu list, just use n->cpus.
- Separate hybrid CPU_PMU_CAPS support into two patches:
perf header: Write hybrid CPU_PMU_CAPS
perf header: Process hybrid CPU_PMU_CAPS
- Add some words to perf.data-file-format.txt for HYBRID_TOPOLOGY and
hybrid CPU_PMU_CAPS.
Jin Yao (2):
perf header: Support HYBRID_TOPOLOGY feature
perf header: Support HYBRID_CPU_PMU_CAPS feature
.../Documentation/perf.data-file-format.txt | 33 +++
tools/perf/util/cputopo.c | 80 ++++++
tools/perf/util/cputopo.h | 13 +
tools/perf/util/env.c | 12 +
tools/perf/util/env.h | 16 ++
tools/perf/util/header.c | 249 ++++++++++++++++--
tools/perf/util/header.h | 2 +
tools/perf/util/pmu-hybrid.h | 11 +
8 files changed, 397 insertions(+), 19 deletions(-)
--
2.17.1