* [PATCH] x86,fs/resctrl: Add event_group information for Intel Diamond Rapids
@ 2026-09-21 21:32 Tony Luck
2026-09-29 0:09 ` Reinette Chatre
0 siblings, 1 reply; 2+ messages in thread
From: Tony Luck @ 2026-09-21 21:32 UTC (permalink / raw)
To: Fenghua Yu, Reinette Chatre, Maciej Wieczor-Retman, Peter Newman,
James Morse, Babu Moger, Drew Fustini, Dave Martin, Chen Yu
Cc: x86, linux-kernel, patches, Tony Luck
Intel published XML descriptions for the Application Energy Telemetry
events on Diamond Rapids here: https://github.com/intel/Intel-PMT.
Add event_group structures for both new GUIDs.
There are two new "perf" events. Add them to the resctrl file system.
Signed-off-by: Tony Luck <tony.luck@intel.com>
---
include/linux/resctrl_types.h | 2 ++
arch/x86/kernel/cpu/resctrl/intel_aet.c | 34 +++++++++++++++++++++++++
fs/resctrl/monitor.c | 2 ++
3 files changed, 38 insertions(+)
diff --git a/include/linux/resctrl_types.h b/include/linux/resctrl_types.h
index a5f56faa18d2..e2e2cf3d9ff6 100644
--- a/include/linux/resctrl_types.h
+++ b/include/linux/resctrl_types.h
@@ -60,6 +60,8 @@ enum resctrl_event_id {
PMT_EVENT_AUTO_C6_RES,
PMT_EVENT_UNHALTED_REF_CYCLES,
PMT_EVENT_UOPS_RETIRED,
+ PMT_EVENT_INST_RETIRED,
+ PMT_EVENT_PCNT,
/* Must be the last */
QOS_NUM_EVENTS,
diff --git a/arch/x86/kernel/cpu/resctrl/intel_aet.c b/arch/x86/kernel/cpu/resctrl/intel_aet.c
index c22c3cf5167d..3555b0aa33ce 100644
--- a/arch/x86/kernel/cpu/resctrl/intel_aet.c
+++ b/arch/x86/kernel/cpu/resctrl/intel_aet.c
@@ -125,9 +125,43 @@ static struct event_group perf_0x26557651 = {
}
};
+/*
+ * Link: https://github.com/intel/Intel-PMT/blob/main/xml/DMR/OOBMSM/RMID-ENERGY/dmr_aggregator.xml
+ */
+static struct event_group energy_0x47903099 = {
+ .pfname = "energy",
+ .guid = 0x47903099,
+ .num_rmid = 256,
+ .mmio_size = XML_MMIO_SIZE(256, 2, 3),
+ .num_events = 2,
+ .evts = {
+ EVT(PMT_EVENT_ENERGY, 0, 18),
+ EVT(PMT_EVENT_ACTIVITY, 1, 18),
+ }
+};
+
+/*
+ * Link: https://github.com/intel/Intel-PMT/blob/main/xml/DMR/OOBMSM/RMID-PERF/dmr_aggregator.xml
+ */
+static struct event_group perf_0x1415910A = {
+ .pfname = "perf",
+ .guid = 0x1415910A,
+ .num_rmid = 256,
+ .mmio_size = XML_MMIO_SIZE(256, 4, 3),
+ .num_events = 4,
+ .evts = {
+ EVT(PMT_EVENT_UNHALTED_REF_CYCLES, 0, 0),
+ EVT(PMT_EVENT_UNHALTED_CORE_CYCLES, 1, 0),
+ EVT(PMT_EVENT_INST_RETIRED, 2, 0),
+ EVT(PMT_EVENT_PCNT, 3, 0),
+ }
+};
+
static struct event_group *known_event_groups[] = {
&energy_0x26696143,
+ &energy_0x47903099,
&perf_0x26557651,
+ &perf_0x1415910A,
};
#define for_each_event_group(_peg) \
diff --git a/fs/resctrl/monitor.c b/fs/resctrl/monitor.c
index 73413cb128ea..04e4ea612b7c 100644
--- a/fs/resctrl/monitor.c
+++ b/fs/resctrl/monitor.c
@@ -1041,6 +1041,8 @@ struct mon_evt mon_event_all[QOS_NUM_EVENTS] = {
MON_EVENT(PMT_EVENT_AUTO_C6_RES, "c6_res", RDT_RESOURCE_PERF_PKG, false),
MON_EVENT(PMT_EVENT_UNHALTED_REF_CYCLES, "unhalted_ref_cycles", RDT_RESOURCE_PERF_PKG, false),
MON_EVENT(PMT_EVENT_UOPS_RETIRED, "uops_retired", RDT_RESOURCE_PERF_PKG, false),
+ MON_EVENT(PMT_EVENT_INST_RETIRED, "inst_retired", RDT_RESOURCE_PERF_PKG, false),
+ MON_EVENT(PMT_EVENT_PCNT, "pcnt", RDT_RESOURCE_PERF_PKG, false),
};
bool resctrl_enable_mon_event(enum resctrl_event_id eventid, bool any_cpu,
--
2.55.0
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] x86,fs/resctrl: Add event_group information for Intel Diamond Rapids
2026-09-21 21:32 [PATCH] x86,fs/resctrl: Add event_group information for Intel Diamond Rapids Tony Luck
@ 2026-09-29 0:09 ` Reinette Chatre
0 siblings, 0 replies; 2+ messages in thread
From: Reinette Chatre @ 2026-09-29 0:09 UTC (permalink / raw)
To: Tony Luck, Fenghua Yu, Maciej Wieczor-Retman, Peter Newman,
James Morse, Babu Moger, Drew Fustini, Dave Martin, Chen Yu
Cc: x86, linux-kernel, patches
Hi Tony,
On 9/21/26 2:32 PM, Tony Luck wrote:
> Intel published XML descriptions for the Application Energy Telemetry
> events on Diamond Rapids here: https://github.com/intel/Intel-PMT.
See "Link:" in Documentation/process/maintainer-tip.rst
>
> Add event_group structures for both new GUIDs.
"Add event_group structures" describes actual code and is clear from the patch.
What does "both" refer to?
>
> There are two new "perf" events. Add them to the resctrl file system.
Here it becomes confusing since patch adds two event groups
as well as two events.
Below is an attempt at a changelog that follows tip requirements. Could
you please consider this as a draft and build on it to use accurate
terminology and be accurate for this patch?
x86,fs/resctrl: Add event group descriptions for Intel Diamond Rapids
Intel Diamond Rapids exposes Application Energy Telemetry through two
new PMT aggregator GUIDs: one covering the "energy" feature, and one
covering the "perf" feature, both documented in the Intel-PMT XML
repository [1].
The "perf" aggregator references two events not previously enumerated
by resctrl: retired instructions (INST_RETIRED), and a count of
unhalted core clock cycles perceived by hardware as contributing to
instruction execution (PCNT).
Add definitions for both aggregators, and add the two new events to
the resctrl filesystem so they can be exposed to user space.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://github.com/intel/Intel-PMT # [1]
>
> Signed-off-by: Tony Luck <tony.luck@intel.com>
> ---
patch looks good.
Reinette
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-29 0:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-21 21:32 [PATCH] x86,fs/resctrl: Add event_group information for Intel Diamond Rapids Tony Luck
2026-09-29 0:09 ` Reinette Chatre
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®