[lkml]   [2021]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH V3 0/5] perf core PMU support for Sapphire Rapids (Kernel)
From: Kan Liang <>

Changes since V2:
- Add the the big-endian and little-endian support for
union perf_sample_weight.
Rename the fields of the union perf_sample_weight.
- Move the check for the unsupported topdown events to event creation.
- Update the comments for the auxiliary event and modify the encoding
of the auxiliary event.

Changes since V1:
The new sample type PERF_SAMPLE_WEIGHT_STRUCT shares the same space as
- Move the check for the unsupported Topdown event into a separate patch
- Use the 'pebs_block' to replace the 'pebs_no_block'.
- Apply Peter's suggestion for the patch ("perf/x86/intel: Support CPUID
10.ECX to disable fixed counters")
- Only include Kernel patches

Intel Sapphire Rapids server is the successor of the Intel Ice Lake
server. The enabling code is based on Ice Lake, but there are several
new features introduced.
- The event encoding is changed and simplified.
- A new Precise Distribution (PDist) facility.
- Two new data source fields, data block & address block, are added in
the PEBS Memory Info Record for the load latency event.
- A new store Latency facility is introduced.
- The layout of access latency field of PEBS Memory Info Record has been
changed. Two latency, instruction latency and cache access latency are
recorded. To support the new latency fields, a new sample type,
PERF_SAMPLE_WEIGHT_EXT, is introduced.
- Extends the PERF_METRICS MSR to feature TMA method level 2 metrics.

Besides the Sapphire Rapids specific features, the CPUID 10.ECX
extension is also supported, which is available for all platforms with
Architectural Performance Monitoring Version 5.

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).

Kan Liang (5):
perf/x86/intel: Factor out intel_update_topdown_event()
perf/x86/intel: Filter unsupported Topdown metrics event
perf/x86/intel: Add perf core PMU support for Sapphire Rapids
perf/x86/intel: Support CPUID 10.ECX to disable fixed counters

arch/powerpc/perf/core-book3s.c | 2 +-
arch/x86/events/core.c | 8 +-
arch/x86/events/intel/core.c | 363 +++++++++++++++++++++++++++++++++++---
arch/x86/events/intel/ds.c | 131 ++++++++++++--
arch/x86/events/perf_event.h | 39 +++-
arch/x86/include/asm/perf_event.h | 16 +-
include/linux/perf_event.h | 4 +-
include/uapi/linux/perf_event.h | 61 ++++++-
kernel/events/core.c | 11 +-
9 files changed, 578 insertions(+), 57 deletions(-)


 \ /
  Last update: 2021-01-28 23:49    [W:0.381 / U:0.704 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site