From: Kan Liang <kan.li...@linux.intel.com> 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