[PATCH v10 00/17] Allow AET to use PMT as loadable module
From: Tony Luck
Date: Wed Jul 29 2026 - 14:24:20 EST
Requiring INTEL_PMT_TELEMETRY=y to enable AET is a functional workaround
to enable enumeration of Application Energy Telemetry (AET) events, but
unacceptable to many users. It results in increased configuration complexity,
increased kernel memory footprint and inability to patch problems by unloading
a module and loading an updated version.
Add a registration function to the AET code that can be used by
INTEL_PMT_TELEMETRY to provide the enumeration functions.
INTEL_PMT_TELEMETRY can be loaded/unloaded independently of
resctrl file system mount/unmount. Perform enumeration on
every mount and cleanup on every unmount.
Patch series based on tip[1] git repo x86/cache branch. Top commit at time
of snapshot:
854db793d407 ("fs/resctrl: Inform user space when status buffer overflowed")
Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
Changes since v9[2]:
A few new patches:
0001 Fix CPUID enumeration to conform to Intel/AMD manuals.
0002 Split X86_64 Kconfig dependency into its own patch.
0008 Adjust all event_group::num_rmid values to not exceed system maximum.
0012 Add locking to resctrl_arch_pre_mount() and resctrl_arch_unmount().
0015 Add notification to AET when devices are unbound or removed.
Other patches updated based on comments and dicussion of the v9 series.
See indivdual patches for details.
Link: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git [1]
Link: https://lore.kernel.org/all/20260701213553.15222-1-tony.luck@xxxxxxxxx/ [2]
Chen Yu (1):
x86/resctrl: Require 64-bit x86 for resctrl support
Tony Luck (16):
x86/resctrl: Fix enumeration of number of supported RMIDs
fs/resctrl: Remove redundant calls to resctrl_arch_mon_capable()
x86/resctrl: Honor rdt=perf option to force enable AET perf events
fs/resctrl: Add interface to disable a monitor event
x86/resctrl: Drop global 'rdt_mon_capable' flag
arm,x86,fs/resctrl: Handle change in number of RMIDs on each mount
x86/resctrl: Enforce system RMID limit on AET event groups
x86/resctrl: Add PMT registration API for AET enumeration callbacks
platform/x86/intel/pmt: Register enumeration functions with resctrl
arm,x86/resctrl: Resolve INTEL_PMT_TELEMETRY symbols at runtime
x86/resctrl: Prepare to handle nested mount requests
fs/resctrl: Call architecture hooks for every mount/unmount
x86/resctrl: Export interface to report telemetry unbind/remove
platform/x86/intel/pmt: Inform resctrl when MMIO maps are being
removed
x86/resctrl: Simplify Kconfig options for resctrl
Documentation/filesystems/resctrl: Document telemetry mount timing
caveat
Documentation/filesystems/resctrl.rst | 60 ++++++++-
include/linux/arm_mpam.h | 1 -
include/linux/intel_vsec.h | 14 +++
include/linux/resctrl.h | 66 +++++++++-
arch/x86/include/asm/resctrl.h | 6 -
arch/x86/kernel/cpu/resctrl/internal.h | 14 ++-
arch/x86/kernel/cpu/resctrl/core.c | 118 +++++++++++++++---
arch/x86/kernel/cpu/resctrl/intel_aet.c | 138 +++++++++++++++++++--
arch/x86/kernel/cpu/resctrl/monitor.c | 10 +-
drivers/platform/x86/intel/pmt/telemetry.c | 44 ++++++-
drivers/resctrl/mpam_resctrl.c | 12 +-
fs/resctrl/monitor.c | 99 ++++++++++-----
fs/resctrl/rdtgroup.c | 20 ++-
arch/x86/Kconfig | 15 +--
arch/x86/kernel/cpu/resctrl/Makefile | 2 +-
15 files changed, 511 insertions(+), 108 deletions(-)
base-commit: 854db793d4073087fa799d886ed84a342e3f484a
--
2.55.0