[PATCH v1 00/11] arm_mpam: minor fixes at v7.2
Gavin Shan
gshan at redhat.com
Wed Jul 15 21:58:02 PDT 2026
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 at redhat.com>
Thanks,
Gavin
More information about the linux-arm-kernel
mailing list