[PATCH v2 08/12] arm_mpam: resctrl: Correct check that existing class is L3

James Morse james.morse at arm.com
Fri Oct 2 08:15:53 PDT 2026


Hi Ben,

On 17/09/2026 15:56, Ben Horgan wrote:
> The class used to back mbm_total_bytes can be either at the L3 or the
> memory. If a platform had candidate classes at both the memory and the L3
> then, as the check for whether the existing class is L3 or not in
> counter_update_class() is broken, the class that will be chosen depends on
> which order the classes are considered and so the probe order.

> diff --git a/drivers/resctrl/mpam_resctrl.c b/drivers/resctrl/mpam_resctrl.c
> index 9d223057953a..b825bd90d4bd 100644
> --- a/drivers/resctrl/mpam_resctrl.c
> +++ b/drivers/resctrl/mpam_resctrl.c
> @@ -1076,7 +1076,7 @@ static void counter_update_class(enum resctrl_event_id evt_id,
>  	struct mpam_class *existing_class = mpam_resctrl_counters[evt_id].class;
>  
>  	if (existing_class) {
> -		if (class->level == 3) {
> +		if (existing_class->level == 3) {
>  			pr_debug("Existing class is L3 - L3 wins\n");
>  			return;
>  		}

Heh, the debug message strong hints at how that was supposed to work!

Reviewed-by: James Morse <james.morse at arm.com>



Thanks,

James



More information about the linux-arm-kernel mailing list