[PATCH 00/10] perf: Multi-die/package support

From: kan . liang
Date: Tue Feb 19 2019 - 15:01:45 EST


From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>

Add Linux perf support for multi-die/package. The first product with
multi-die is Xeon Cascade Lake-AP (CLX-AP).
The code bases on the top of Len's multi-die/package support.
https://lkml.org/lkml/2019/2/18/1534

Patch 1-4: They are generic codes for previous platforms.
Perf supports miscellaneous modules, e.g cstate, RAPL and uncore.
Their counters have the same scope of effect (per package).
But they maintain their own scope information independently.
It's very useful to abstract several common topology related codes
for these modules to reduce the code redundancy, especially when
adding counters with new scope.

Patch 5-8: Support die scope counters on CLX-AP for uncore, RAPL
and cstate.

Patch 9-10: Support per-die aggregation for perf stat and header.

Kan Liang (10):
perf/x86/intel: Introduce a concept "domain" as the scope of counters
perf/x86/intel/cstate: Apply "domain" for cstate
perf/x86/intel/uncore: Apply "domain" for uncore
perf/x86/intel/rapl: Apply "domain" for RAPL
perf/x86/intel/domain: Add new domain type for die
perf/x86/intel/uncore: Support die scope counters on CLX-AP
perf/x86/intel/rapl: Support die scope counters on CLX-AP
perf/x86/intel/cstate: Support die scope counters on CLX-AP
perf header: Add die information in cpu topology
perf stat: Support per-die aggregation

arch/x86/events/Makefile | 2 +-
arch/x86/events/domain.c | 81 +++++
arch/x86/events/domain.h | 26 ++
arch/x86/events/intel/cstate.c | 364 ++++++++++++---------
arch/x86/events/intel/rapl.c | 333 ++++++++++++++-----
arch/x86/events/intel/uncore.c | 247 +++++++++-----
arch/x86/events/intel/uncore.h | 9 +-
arch/x86/events/intel/uncore_snbep.c | 2 +-
tools/perf/Documentation/perf-stat.txt | 10 +
tools/perf/Documentation/perf.data-file-format.txt | 9 +-
tools/perf/builtin-stat.c | 73 ++++-
tools/perf/util/cpumap.c | 55 +++-
tools/perf/util/cpumap.h | 10 +-
tools/perf/util/env.c | 1 +
tools/perf/util/env.h | 3 +
tools/perf/util/header.c | 185 ++++++++++-
tools/perf/util/stat-display.c | 24 +-
tools/perf/util/stat-shadow.c | 1 +
tools/perf/util/stat.c | 1 +
tools/perf/util/stat.h | 1 +
20 files changed, 1082 insertions(+), 355 deletions(-)
create mode 100644 arch/x86/events/domain.c
create mode 100644 arch/x86/events/domain.h

--
2.7.4