[PATCH v2 09/12] arm_mpam: resctrl: Make read_mon_cdp_safe() self consistent

Gavin Shan gshan at redhat.com
Mon Sep 21 22:44:22 PDT 2026


On 9/18/26 12:56 AM, Ben Horgan wrote:
> When read_mon_cdp_safe() is called with cdp_enabled equal to false then the
> reading returned in val is the sum of the monitor values for the given
> component. However, when cdp_enabled equal to true it is again the sum of
> the monitor values but with the initial value of val also added. Both
> resctrl_arch_cntr_read() and resctrl_arch_rmid_read() call
> read_mon_cdp_safe() and are documented to return the val directly without
> consideration of the older value.
> 
>   The val is always zeroed before read_mon_cdp_safe() is called except in
>   __check_limbo() and __l3_mon_event_count_sum() but the latter is not
>   relevant on MPAM systems.  The extra accumulation in __check_limbo() means
>   when there are multiple RMIDs in limbo some of them may be marked dirty
>   when they are already clean.
> 
> Change the cdp_enabled equals true case to match the false case and the
> documentation of the resctrl arch hooks.
> 
> Fixes: fb56b29932ca ("arm_mpam: resctrl: Add resctrl_arch_rmid_read()")
> Signed-off-by: Ben Horgan <ben.horgan at arm.com>
> Tested-by: Gavin Shan <gshan at redhat.com>
> ---
> Add fixes tag as actually fixes an issue (Sashiko)
> Update commit message
> ---
>   drivers/resctrl/mpam_resctrl.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
Reviewed-by: Gavin Shan <gshan at redhat.com>




More information about the linux-arm-kernel mailing list