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

Tony Luck posted 7 patches 2 months ago
include/linux/resctrl.h                    | 44 +++++++++++++-
arch/x86/include/asm/resctrl.h             | 19 ++++++
arch/x86/kernel/cpu/resctrl/internal.h     |  8 +--
arch/x86/kernel/cpu/resctrl/core.c         | 23 +++++++-
arch/x86/kernel/cpu/resctrl/intel_aet.c    | 67 ++++++++++++++++++----
drivers/platform/x86/intel/pmt/telemetry.c | 10 ++++
fs/resctrl/monitor.c                       | 12 ++++
fs/resctrl/rdtgroup.c                      | 35 ++++++++---
arch/x86/Kconfig                           |  2 +-
9 files changed, 193 insertions(+), 27 deletions(-)
[RFC PATCH v5 0/7] Allow AET to use PMT/TPMI as loadable modules
Posted by Tony Luck 2 months ago
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
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.

Signed-off-by: Tony Luck <tony.luck@intel.com>

---

Changes since v4:

Abandon use of symbol_request() - new uses are deprecated.
Implement the registration mechanism suggested by Christoph.
Re-order patches to avoid breaking AET enumeration.
Kerneldoc comments on limits to enable/disable events.
Add resctrl_mount_lock inline in rdt_get_tree() instead of adding a
wrapper.

Tony Luck (7):
  x86/resctrl: Stop setting event_group::force_off on RMID shortage
  fs/resctrl: Add interface to disable a monitor event
  x86/resctrl: x86/resctrl: Add PMT registration API for AET enumeration
    callbacks
  platform/x86/intel/pmt: Register enumeration functions with resctrl
  x86/resctrl: Resolve INTEL_PMT_TELEMETRY symbols at runtime
  fs/resctrl: Call architecture hooks for every mount/unmount
  x86/resctrl: Relax Kconfig dependency on INTEL_PMT_TELEMETRY

 include/linux/resctrl.h                    | 44 +++++++++++++-
 arch/x86/include/asm/resctrl.h             | 19 ++++++
 arch/x86/kernel/cpu/resctrl/internal.h     |  8 +--
 arch/x86/kernel/cpu/resctrl/core.c         | 23 +++++++-
 arch/x86/kernel/cpu/resctrl/intel_aet.c    | 67 ++++++++++++++++++----
 drivers/platform/x86/intel/pmt/telemetry.c | 10 ++++
 fs/resctrl/monitor.c                       | 12 ++++
 fs/resctrl/rdtgroup.c                      | 35 ++++++++---
 arch/x86/Kconfig                           |  2 +-
 9 files changed, 193 insertions(+), 27 deletions(-)


base-commit: 591cd656a1bf5ea94a222af5ef2ee76df029c1d2
-- 
2.53.0