[GIT PULL] x86/cache for v6.9-rc1

From: Borislav Petkov
Date: Mon Mar 11 2024 - 10:46:41 EST


Hi Linus,

please pull a bunch of resctrl updates for for v6.9-rc1.

Thx.

---

The following changes since commit 6613476e225e090cc9aad49be7fa504e290dd33d:

Linux 6.8-rc1 (2024-01-21 14:11:32 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tags/x86_cache_for_v6.9_rc1

for you to fetch changes up to c0d848fcb09d80a5f48b99f85e448185125ef59f:

x86/resctrl: Remove lockdep annotation that triggers false positive (2024-02-22 16:15:38 +0100)

----------------------------------------------------------------
- Rework different aspects of the resctrl code like adding arch-specific
accessors and splitting the locking, in order to accomodate ARM's MPAM
implementation of hw resource control and be able to use the same
filesystem control interface like on x86. Work by James Morse

- Improve the memory bandwidth throttling heuristic to handle workloads
with not too regular load levels which end up penalized unnecessarily

- Use CPUID to detect the memory bandwidth enforcement limit on AMD

- The usual set of fixes

----------------------------------------------------------------
Babu Moger (3):
x86/resctrl: Remove hard-coded memory bandwidth limit
x86/resctrl: Read supported bandwidth sources from CPUID
x86/resctrl: Remove redundant variable in mbm_config_write_domain()

James Morse (25):
tick/nohz: Move tick_nohz_full_mask declaration outside the #ifdef
x86/resctrl: Free rmid_ptrs from resctrl_exit()
x86/resctrl: Create helper for RMID allocation and mondata dir creation
x86/resctrl: Move RMID allocation out of mkdir_rdt_prepare()
x86/resctrl: Track the closid with the rmid
x86/resctrl: Access per-rmid structures by index
x86/resctrl: Allow RMID allocation to be scoped by CLOSID
x86/resctrl: Track the number of dirty RMID a CLOSID has
x86/resctrl: Use __set_bit()/__clear_bit() instead of open coding
x86/resctrl: Allocate the cleanest CLOSID by searching closid_num_dirty_rmid
x86/resctrl: Move CLOSID/RMID matching and setting to use helpers
x86/resctrl: Add cpumask_any_housekeeping() for limbo/overflow
x86/resctrl: Queue mon_event_read() instead of sending an IPI
x86/resctrl: Allow resctrl_arch_rmid_read() to sleep
x86/resctrl: Allow arch to allocate memory needed in resctrl_arch_rmid_read()
x86/resctrl: Make resctrl_mounted checks explicit
x86/resctrl: Move alloc/mon static keys into helpers
x86/resctrl: Make rdt_enable_key the arch's decision to switch
x86/resctrl: Add helpers for system wide mon/alloc capable
x86/resctrl: Add CPU online callback for resctrl work
x86/resctrl: Allow overflow/limbo handlers to be scheduled on any-but CPU
x86/resctrl: Add CPU offline callback for resctrl work
x86/resctrl: Move domain helper migration into resctrl_offline_cpu()
x86/resctrl: Separate arch and fs resctrl locks
x86/resctrl: Remove lockdep annotation that triggers false positive

Tony Luck (2):
x86/resctrl: Fix unused variable warning in cache_alloc_hsw_probe()
x86/resctrl: Implement new mba_MBps throttling heuristic

arch/x86/include/asm/resctrl.h | 90 ++++++
arch/x86/kernel/cpu/resctrl/core.c | 111 ++++---
arch/x86/kernel/cpu/resctrl/ctrlmondata.c | 48 ++-
arch/x86/kernel/cpu/resctrl/internal.h | 75 ++++-
arch/x86/kernel/cpu/resctrl/monitor.c | 501 ++++++++++++++++++++++--------
arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 15 +-
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 388 ++++++++++++++++-------
include/linux/resctrl.h | 48 ++-
include/linux/tick.h | 9 +-
9 files changed, 946 insertions(+), 339 deletions(-)


--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette