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