From: Tony Luck <tony.luck@intel.com>
To: tony.luck@intel.com
Cc: Dave.Martin@arm.com, babu.moger@amd.com, david.e.box@intel.com,
dfustini@baylibre.com, fenghuay@nvidia.com, hch@infradead.org,
james.morse@arm.com, linux-kernel@vger.kernel.org,
maciej.wieczor-retman@intel.com, patches@lists.linux.dev,
peternewman@google.com, reinette.chatre@intel.com,
x86@kernel.org, yu.c.chen@intel.com
Subject: [PATCH v14.1 20/25] x86/resctrl: Enforce system RMID limit on AET
Date: Tue, 29 Sep 2026 10:52:38 -0700 [thread overview]
Message-ID: <20260929175238.16588-1-tony.luck@intel.com> (raw)
In-Reply-To: <20260928221509.68002-21-tony.luck@intel.com>
AET (Application Energy Telemetry) event groups each support a specific
number of RMIDs. But that number may be higher than the number supported
by the system.
Ensure that info/PERF_PKG_MON/num_rmids does not display an unachievable
value to users by capping the maximum supported RMIDs in the resource to
the system maximum.
Signed-off-by: Tony Luck <tony.luck@intel.com>
---
v14:
No change
---
arch/x86/kernel/cpu/resctrl/internal.h | 2 ++
arch/x86/kernel/cpu/resctrl/core.c | 2 +-
arch/x86/kernel/cpu/resctrl/intel_aet.c | 6 ++++++
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
index c66954bc01e7..1f080aad1b67 100644
--- a/arch/x86/kernel/cpu/resctrl/internal.h
+++ b/arch/x86/kernel/cpu/resctrl/internal.h
@@ -153,6 +153,8 @@ extern struct rdt_hw_resource rdt_resources_all[];
extern bool intel_rdt_mbm_need_quirk;
+extern u32 pqr_assoc_num_rmid;
+
void arch_mon_domain_online(struct rdt_resource *r, struct rdt_l3_mon_domain *d);
/* CPUID.(EAX=10H, ECX=ResID=1).EAX */
diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
index 40466f29e48e..689b9e31fe7a 100644
--- a/arch/x86/kernel/cpu/resctrl/core.c
+++ b/arch/x86/kernel/cpu/resctrl/core.c
@@ -46,7 +46,7 @@ static DEFINE_MUTEX(domain_list_lock);
DEFINE_PER_CPU(struct resctrl_pqr_state, pqr_state);
/* Number of unique RMID values that can be written to MSR_IA32_PQR_ASSOC.RMID */
-static u32 pqr_assoc_num_rmid;
+u32 pqr_assoc_num_rmid;
static void mba_wrmsr_intel(struct msr_param *m);
static void cat_wrmsr(struct msr_param *m);
diff --git a/arch/x86/kernel/cpu/resctrl/intel_aet.c b/arch/x86/kernel/cpu/resctrl/intel_aet.c
index e7cd7d8a80cd..756832f6d51d 100644
--- a/arch/x86/kernel/cpu/resctrl/intel_aet.c
+++ b/arch/x86/kernel/cpu/resctrl/intel_aet.c
@@ -274,6 +274,12 @@ static bool enable_events(struct event_group *e, struct pmt_feature_group *p)
else
r->mon.num_rmid = e->num_rmid;
+ /*
+ * AET may claim to support more RMIDs than are permitted to be
+ * assigned to MSR_IA32_PQR_ASSOC.RMID. Enforce this limit.
+ */
+ r->mon.num_rmid = min(r->mon.num_rmid, pqr_assoc_num_rmid);
+
if (skipped_events)
pr_info("%s %s:0x%x monitoring detected (skipped %d events)\n", r->name,
e->pfname, e->guid, skipped_events);
--
2.55.0
next prev parent reply other threads:[~2026-09-29 17:52 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-28 22:14 [PATCH v13 00/25] Allow AET to use PMT as loadable module Tony Luck
2026-09-28 22:14 ` [PATCH v13 01/25] fs/resctrl: Ensure default group reports tasks on monitor-only systems Tony Luck
2026-10-08 22:21 ` Reinette Chatre
2026-09-28 22:14 ` [PATCH v13 02/25] x86/cpufeatures: Add missing CQM feature dependency Tony Luck
2026-09-28 22:14 ` [PATCH v13 03/25] x86/resctrl: Check if monitoring features are supported Tony Luck
2026-10-08 23:25 ` Reinette Chatre
2026-09-28 22:14 ` [PATCH v13 04/25] x86/resctrl: Centralize monitoring feature enumeration Tony Luck
2026-09-28 22:14 ` [PATCH v13 05/25] x86/resctrl: Apply Intel MBM quirk from rdt_get_l3_mon_config() Tony Luck
2026-10-09 17:15 ` Reinette Chatre
2026-09-28 22:14 ` [PATCH v13 06/25] x86/resctrl: Delete resctrl_cpu_detect() Tony Luck
2026-09-28 22:14 ` [PATCH v13 07/25] arm,x86,fs/resctrl: Replace architecture resctrl_arch_{alloc,mon}_capable() Tony Luck
2026-09-28 22:14 ` [PATCH v13 08/25] x86/resctrl: Update special case for Intel Haswell enumeration Tony Luck
2026-09-28 22:14 ` [PATCH v13 09/25] x86/resctrl: Delete rdt_alloc_capable and rdt_mon_capable Tony Luck
2026-09-28 22:14 ` [PATCH v13 10/25] fs/resctrl: Remove redundant calls to resctrl_mon_capable() Tony Luck
2026-09-28 22:14 ` [PATCH v13 11/25] x86/resctrl: Honor rdt={perf|energy} options to force enable AET events Tony Luck
2026-09-28 22:14 ` [PATCH v13 12/25] fs/resctrl: Add interface to disable a monitor event Tony Luck
2026-09-28 22:14 ` [PATCH v13 13/25] arm,x86,fs/resctrl: Allocate maximum needed rmid_ptrs[] Tony Luck
2026-10-06 19:53 ` Babu Moger
2026-10-06 22:07 ` Luck, Tony
2026-10-07 14:10 ` Moger, Babu
2026-09-28 22:14 ` [PATCH v13 14/25] arm,x86,fs/resctrl: Use right size for L3 monitor data structures Tony Luck
2026-09-28 22:14 ` [PATCH v13 15/25] x86,fs/resctrl: Handle systems where AET is the only resource Tony Luck
2026-09-28 22:15 ` [PATCH v13 16/25] x86/resctrl: Add PMT registration API for AET enumeration callbacks Tony Luck
2026-09-28 22:15 ` [PATCH v13 17/25] platform/x86/intel/pmt: Register enumeration functions with resctrl Tony Luck
2026-09-28 22:15 ` [PATCH v13 18/25] x86/resctrl: Use registered function pointers for AET enumeration Tony Luck
2026-09-29 17:52 ` [PATCH v14.1 " Tony Luck
2026-09-28 22:15 ` [PATCH v13 19/25] arm,x86,fs/resctrl: Enumerate AET on every resctrl mount Tony Luck
2026-09-29 17:52 ` [PATCH v14.1 " Tony Luck
2026-10-07 19:55 ` Babu Moger
2026-10-07 20:43 ` Luck, Tony
2026-09-28 22:15 ` [PATCH v13 20/25] x86/resctrl: Enforce system RMID limit on AET Tony Luck
2026-09-29 17:52 ` Tony Luck [this message]
2026-09-28 22:15 ` [PATCH v13 21/25] x86/resctrl: Export interface to report telemetry unbind/remove Tony Luck
2026-09-29 17:52 ` [PATCH v14.1 " Tony Luck
2026-09-28 22:15 ` [PATCH v13 22/25] platform/x86/intel/pmt: Inform resctrl when MMIO maps are being removed Tony Luck
2026-09-28 22:15 ` [PATCH v13 23/25] x86/resctrl: Require 64-bit x86 for resctrl support Tony Luck
2026-09-28 22:15 ` [PATCH v13 24/25] x86/resctrl: Simplify Kconfig options for resctrl Tony Luck
2026-09-28 22:15 ` [PATCH v13 25/25] x86,fs/resctrl: Document telemetry mount timing caveat Tony Luck
2026-09-29 0:29 ` [PATCH v13 00/25] Allow AET to use PMT as loadable module Luck, Tony
2026-09-29 19:43 ` Luck, Tony
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=20260929175238.16588-1-tony.luck@intel.com \
--to=tony.luck@intel.com \
--cc=Dave.Martin@arm.com \
--cc=babu.moger@amd.com \
--cc=david.e.box@intel.com \
--cc=dfustini@baylibre.com \
--cc=fenghuay@nvidia.com \
--cc=hch@infradead.org \
--cc=james.morse@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.wieczor-retman@intel.com \
--cc=patches@lists.linux.dev \
--cc=peternewman@google.com \
--cc=reinette.chatre@intel.com \
--cc=x86@kernel.org \
--cc=yu.c.chen@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.