[PATCH v3 0/2] perf header: Support HYBRID_TOPOLOGY and HYBRID_CPU_PMU_CAPS

Jin Yao
2021-05-11T05:31:13Z

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.

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 | 250 ++++++++++++++++--
tools/perf/util/header.h | 2 +
tools/perf/util/pmu-hybrid.h | 11 +
8 files changed, 398 insertions(+), 19 deletions(-)

--
2.17.1