[PATCH 0/9] perf core PMU support for Sapphire Rapids (User tools)

From: kan . liang
Date: Tue Feb 02 2021 - 15:16:30 EST


From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>

Intel Sapphire Rapids server is the successor of the Intel Ice Lake
server. There are several user-visible features introduced.
- Two new data source fields, data block & address block, are added in
the PEBS Memory Info Record for the load latency event.
Improve the c2c and mem tools to display the reasons of a memory load
block.
- Support the new instruction latency in perf mem.
Support the new sample type, PERF_SAMPLE_WEIGHT_STRUCT.
- Support TMA method level 2 metrics with the perf stat --topdown option.
Update the topdown documentation accordingly.

The full description for the SPR features can be found at Intel
Architecture Instruction Set Extensions and Future Features Programming
Reference, 319433-041 (and later).

The kernel patches has been merged into the tip:perf/core branch.

Kan Liang (9):
tools headers uapi: Update tools's copy of linux/perf_event.h
perf tools: Support the auxiliary event
perf tools: Support data block and addr block
perf c2c: Support data block and addr block
perf tools: Support PERF_SAMPLE_WEIGHT_STRUCT
perf report: Support instruction latency
perf test: Support PERF_SAMPLE_WEIGHT_STRUCT
perf stat: Support L2 Topdown events
perf, tools: Update topdown documentation for Sapphire Rapids

tools/include/uapi/linux/perf_event.h | 54 ++++++++++++++++--
tools/perf/Documentation/perf-report.txt | 9 ++-
tools/perf/Documentation/perf-stat.txt | 14 ++++-
tools/perf/Documentation/topdown.txt | 78 ++++++++++++++++++++++++--
tools/perf/arch/x86/util/Build | 2 +
tools/perf/arch/x86/util/evsel.c | 8 +++
tools/perf/arch/x86/util/mem-events.c | 44 +++++++++++++++
tools/perf/builtin-c2c.c | 3 +
tools/perf/builtin-mem.c | 2 +-
tools/perf/builtin-stat.c | 34 +++++++++++-
tools/perf/tests/sample-parsing.c | 14 ++++-
tools/perf/util/event.h | 1 +
tools/perf/util/evsel.c | 33 +++++++++--
tools/perf/util/evsel.h | 3 +
tools/perf/util/hist.c | 13 ++++-
tools/perf/util/hist.h | 3 +
tools/perf/util/intel-pt.c | 23 +++++++-
tools/perf/util/mem-events.c | 36 ++++++++++++
tools/perf/util/mem-events.h | 5 ++
tools/perf/util/parse-events.l | 1 +
tools/perf/util/perf_event_attr_fprintf.c | 2 +-
tools/perf/util/record.c | 5 +-
tools/perf/util/session.c | 8 ++-
tools/perf/util/sort.c | 83 +++++++++++++++++++++++++++-
tools/perf/util/sort.h | 4 ++
tools/perf/util/stat-shadow.c | 92 +++++++++++++++++++++++++++++++
tools/perf/util/stat.c | 4 ++
tools/perf/util/stat.h | 9 +++
tools/perf/util/synthetic-events.c | 8 ++-
29 files changed, 560 insertions(+), 35 deletions(-)
create mode 100644 tools/perf/arch/x86/util/evsel.c
create mode 100644 tools/perf/arch/x86/util/mem-events.c

--
2.7.4