Re: [PATCH v1 00/11] arm_mpam: minor fixes at v7.2
From: Gavin Shan
Date: Thu Jul 16 2026 - 00:58:19 EST
On 7/10/26 9:55 PM, Ben Horgan wrote:
This is a bunch of small fixes for hypothetical problems in the driver. They
were found by a mixture of messing around with a software model, inspection and
llm review.
The first two patches ensure the error interrupt isn't accidentally disabled
when register state is lost. Patch 3 keeps the feature accounting correct but
has no functional change. Patches 4 to 7 fix mbwu save/restore but this is not
relied on as we plan to just use resctrl assigned counters and these are
unassigned when a domain goes offline. Also, MSC afffinity of a region smaller
than a resctrl domain has not been seen. Patch 8 makes read_mon_cdp_safe()
behaviour the same for cdp_enabled and not. Patch 9 fixes an infinite loop in
a system using all the PARTIDs which is much bigger than anything than anything
I've seen. Patch 10 stops some allocations failing on similiarly big systems.
Based on v7.2-rc2
Ben Horgan (11):
arm_mpam: Move MPAMF_ECR write helpers to allow reuse
arm_mpam: Restore the error interrupt enable from mpam_cpu_online()
arm_mpam: Set mpam_feat_msmon_mbwu_31counter when there are bandwidth
counters
arm_mpam: Add missing mon_sel locking in MBWU restore
arm_mpam: Ensure MBWU counters are reset on restore
arm_mpam: Use __ris_msmon_read() for saving MBWU state
arm_mpam: Initialize all of struct mon_read in
mpam_restore_mbwu_state()
arm_mpam: resctrl: Correct check that existing class is L3
arm_mpam: resctrl: Make read_mon_cdp_safe() self consistent
arm_mpam: Don't loop forever if there is the maximum possible amount
of PARTIDs
arm_mpam: Switch to kvzmalloc_objs() for allocation of component cfg
drivers/resctrl/mpam_devices.c | 124 ++++++++++++++++++++-------------
drivers/resctrl/mpam_resctrl.c | 4 +-
2 files changed, 76 insertions(+), 52 deletions(-)
Tested on NVidia's grace-hopper machine and looks good: (a) kunit_tests passed;
(b) l3 cache partitioning and MBW (soft) limiting work as expected; (c) llc_occupancy
monitor counter alters when workload is attached and running.
Tested-by: Gavin Shan <gshan@xxxxxxxxxx>
Thanks,
Gavin