From: Zide Chen <zide.chen@intel.com>
To: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Andi Kleen <ak@linux.intel.com>,
Eranian Stephane <eranian@google.com>
Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
Dapeng Mi <dapeng1.mi@linux.intel.com>,
Zide Chen <zide.chen@intel.com>,
Xudong Hao <xudong.hao@intel.com>,
Falcon Thomas <thomas.falcon@intel.com>
Subject: [PATCH V2 00/13] Add DMR/NVL and missing PTL uncore support
Date: Wed, 31 Dec 2025 14:42:17 -0800 [thread overview]
Message-ID: <20251231224233.113839-1-zide.chen@intel.com> (raw)
Similar to Sapphire Rapids, Diamond Rapids (DMR) relies on discovery
tables for uncore enumeration. Key differences and additions include:
- DMR may have two Integrated I/O and Memory Hub (IMH) dies, separate
from the compute tile (CBB) dies. Each CBB and each IMH die has its
own discovery domain.
- Unlike prior CPUs that retrieve the global discovery table portal
exclusively via PCI or MSR, DMR uses PCI for IMH PMON discovery and
MSR for CBB PMON discovery.
- DMR introduces several new PMON types: SCA, HAMVF, D2D_ULA, UBR,
PCIE4, CRS, CPC, ITC, OTC, CMS, and PCIE6.
- IIO free-running counters in DMR are MMIO-based, unlike SPR.
The uncore driver currently does not clear the freeze_all bit in the
Global Control Register. On platforms where it is set at power-on,
some units may not be enabled if they lack a per-unit enable bit.
Patch series overview:
- Patch 1–3, 7, 9: Cleanup or preparatory patches
- Patch 4–6, 8, 10–11: DMR uncore support
- Patch 12: Add missing PTL PMON units
- Patch 13: NVL uncore support
V2:
- Introduce struct uncore_discovery_domain[] to allow multiple
discovery base, and each could be either an MSR or a PCI device.
- Add global_init() callback.
- Add missing format_attr_umask in dmr_imc_uncore_formats_attr[].
- Address Dapeng’s comments.
- Add new patches for PTL and NVL uncore support.
V1: https://lore.kernel.org/linux-perf-users/20251212210007.13986-1-zide.chen@intel.com/
Zide Chen (13):
perf/x86/intel/uncore: Move uncore discovery init struct to header
perf/x86/intel/uncore: Support per-platform discovery base devices
perf/x86/intel/uncore: Remove has_generic_discovery_table()
perf/x86/intel/uncore: Add IMH PMON support for Diamond Rapids
perf/x86/intel/uncore: Add CBB PMON support for Diamond Rapids
perf/x86/intel/uncore: Add domain global init callback
perf/x86/intel/uncore: Add freerunning event descriptor helper macro
perf/x86/intel/uncore: Support IIO free-running counters on DMR
perf/x86/intel/uncore: Support uncore constraint ranges
perf/x86/intel/uncore: Update DMR uncore constraints preliminarily
perf pmu: Relax uncore wildcard matching to allow numeric suffix
perf/x86/intel/uncore: Add missing PMON units for Panther Lake
perf/x86/intel/uncore: Add Nova Lake support
arch/x86/events/intel/uncore.c | 142 +++--
arch/x86/events/intel/uncore.h | 26 +
arch/x86/events/intel/uncore_discovery.c | 78 ++-
arch/x86/events/intel/uncore_discovery.h | 8 +-
arch/x86/events/intel/uncore_snb.c | 85 +++
arch/x86/events/intel/uncore_snbep.c | 690 ++++++++++++++++-------
tools/perf/util/pmu.c | 14 +-
7 files changed, 735 insertions(+), 308 deletions(-)
--
2.52.0
next reply other threads:[~2025-12-31 22:49 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-31 22:42 Zide Chen [this message]
2025-12-31 22:42 ` [PATCH V2 01/13] perf/x86/intel/uncore: Move uncore discovery init struct to header Zide Chen
2026-01-04 1:47 ` Mi, Dapeng
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2025-12-31 22:42 ` [PATCH V2 02/13] perf/x86/intel/uncore: Support per-platform discovery base devices Zide Chen
2026-01-04 2:00 ` Mi, Dapeng
2026-01-06 11:01 ` Peter Zijlstra
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2025-12-31 22:42 ` [PATCH V2 03/13] perf/x86/intel/uncore: Remove has_generic_discovery_table() Zide Chen
2026-01-04 2:03 ` Mi, Dapeng
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2025-12-31 22:42 ` [PATCH V2 04/13] perf/x86/intel/uncore: Add IMH PMON support for Diamond Rapids Zide Chen
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2025-12-31 22:42 ` [PATCH V2 05/13] perf/x86/intel/uncore: Add CBB " Zide Chen
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2025-12-31 22:42 ` [PATCH V2 06/13] perf/x86/intel/uncore: Add domain global init callback Zide Chen
2026-01-04 2:26 ` Mi, Dapeng
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2025-12-31 22:42 ` [PATCH V2 07/13] perf/x86/intel/uncore: Add freerunning event descriptor helper macro Zide Chen
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2025-12-31 22:42 ` [PATCH V2 08/13] perf/x86/intel/uncore: Support IIO free-running counters on DMR Zide Chen
2026-01-04 2:31 ` Mi, Dapeng
2026-02-06 0:26 ` Chun-Tse Shao
2026-02-06 5:51 ` Mi, Dapeng
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2025-12-31 22:42 ` [PATCH V2 09/13] perf/x86/intel/uncore: Support uncore constraint ranges Zide Chen
2026-01-04 2:36 ` Mi, Dapeng
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2025-12-31 22:42 ` [PATCH V2 10/13] perf/x86/intel/uncore: Update DMR uncore constraints preliminarily Zide Chen
2026-01-04 2:41 ` Mi, Dapeng
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2025-12-31 22:42 ` [PATCH V2 11/13] perf pmu: Relax uncore wildcard matching to allow numeric suffix Zide Chen
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2026-01-21 7:18 ` [PATCH V2 11/13] " Ian Rogers
2026-01-21 8:02 ` Mi, Dapeng
2026-01-21 14:33 ` Ian Rogers
2026-01-21 18:19 ` Ian Rogers
2026-01-21 19:03 ` Chen, Zide
2026-01-22 2:09 ` Mi, Dapeng
2026-01-22 7:10 ` Ian Rogers
2026-02-03 23:33 ` Ian Rogers
2026-02-04 21:34 ` Namhyung Kim
2025-12-31 22:42 ` [PATCH V2 12/13] perf/x86/intel/uncore: Add missing PMON units for Panther Lake Zide Chen
2026-01-04 2:48 ` Mi, Dapeng
2026-01-04 2:49 ` Mi, Dapeng
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2025-12-31 22:42 ` [PATCH V2 13/13] perf/x86/intel/uncore: Add Nova Lake support Zide Chen
2026-01-04 2:51 ` Mi, Dapeng
2026-01-12 8:03 ` [tip: perf/core] " tip-bot2 for Zide Chen
2026-01-06 15:08 ` [PATCH V2 00/13] Add DMR/NVL and missing PTL uncore support Peter Zijlstra
2026-01-06 21:19 ` Chen, Zide
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251231224233.113839-1-zide.chen@intel.com \
--to=zide.chen@intel.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=dapeng1.mi@linux.intel.com \
--cc=eranian@google.com \
--cc=irogers@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=thomas.falcon@intel.com \
--cc=xudong.hao@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®