[PATCH v4 0/7] Allow AET to use PMT/TPMI as loadable modules

Tony Luck posted 7 patches 1 day, 10 hours ago
include/linux/resctrl.h                    |  13 ++-
arch/x86/kernel/cpu/resctrl/internal.h     |  10 +-
arch/x86/kernel/cpu/resctrl/core.c         |  16 +++-
arch/x86/kernel/cpu/resctrl/intel_aet.c    | 102 ++++++++++++++++++---
drivers/platform/x86/intel/pmt/telemetry.c |   4 +-
fs/resctrl/monitor.c                       |  16 ++++
fs/resctrl/rdtgroup.c                      |  43 ++++++---
arch/x86/Kconfig                           |   2 +-
8 files changed, 172 insertions(+), 34 deletions(-)
[PATCH v4 0/7] Allow AET to use PMT/TPMI as loadable modules
Posted by Tony Luck 1 day, 10 hours ago
Using symbol_request() eliminates the AET (Application Energy Telemetry)
requirement that INTEL_TELEMETY_PMT and INTEL_TPMI be configured as built-in
to the base kernel.

To make this work cleanly, refactor resctrl code so that architecture
code is made aware of every mount/unmount operation so that state can
be cleaned up on each unmount (instead of the notianal call from
resctrl_arch_exit()).

Signed-off-by: Tony Luck <tony.luck@intel.com>
AI-review-of-v3: https://sashiko.dev/#/patchset/20260327230208.18094-1-tony.luck%40intel.com

Changes since v3[1]
Link: [1] https://lore.kernel.org/all/20260327230208.18094-1-tony.luck@intel.com/

1) Switched from symbol_get() to symbol_request() so that required
modules will be auto-loaded when needed instead of mounting the resctrl
file system without AET events.

2) Add warnings to resctrl_{en,dis}able_mon_event() to ensure they are
only used when the resctrl file system is not mounted.

3) Move the newly adding locking around mount/unmount from architecture
to file system code. This makes it much simpler, avoiding obtaining a
mutex in one function and releasing in another.

4) Reset rdt_resource::mon_capable to false as part of cleanup on
unmount or for other mount failures. I have not updated rdt_mon_capable
which technically needs to be an integer, incremented on mount,
decremented on unmount to keep track of how many monitoring resources
are enabled in the current mount cycle.

Tony Luck (7):
  platform/x86/intel/pmt: Export PMT enumeration functions as GPL
  x86/resctrl: Drop setting of event_group::force_off when insufficient
    RMIDs
  fs/resctrl: Add interface to disable a monitor event
  fs,x86/resctrl: Add architecture hooks for every mount/unmount
  x86/resctrl: Resolve PMT and TPMI symbols at runtime
  x86/resctrl: Delete intel_aet_exit()
  x86/resctrl: Downgrade dependency of AET on INTEL_PMT

 include/linux/resctrl.h                    |  13 ++-
 arch/x86/kernel/cpu/resctrl/internal.h     |  10 +-
 arch/x86/kernel/cpu/resctrl/core.c         |  16 +++-
 arch/x86/kernel/cpu/resctrl/intel_aet.c    | 102 ++++++++++++++++++---
 drivers/platform/x86/intel/pmt/telemetry.c |   4 +-
 fs/resctrl/monitor.c                       |  16 ++++
 fs/resctrl/rdtgroup.c                      |  43 ++++++---
 arch/x86/Kconfig                           |   2 +-
 8 files changed, 172 insertions(+), 34 deletions(-)


base-commit: 7aaa8047eafd0bd628065b15757d9b48c5f9c07d
-- 
2.53.0