Re: [PATCH v2 13/29] arm_mpam: Probe the hardware features resctrl supports

Ben Horgan
2025-09-30T13:32:23Z

Hi James,

On 9/29/25 18:45, James Morse wrote:
> Hi Ben,
>
> On 11/09/2025 16:37, Ben Horgan wrote:
>> On 9/10/25 21:42, James Morse wrote:
>>> Expand the probing support with the control and monitor types
>>> we can use with resctrl.
>
>>> diff --git a/drivers/resctrl/mpam_internal.h b/drivers/resctrl/mpam_internal.h
>>> index 4cc44d4e21c4..5ae5d4eee8ec 100644
>>> --- a/drivers/resctrl/mpam_internal.h
>>> +++ b/drivers/resctrl/mpam_internal.h
>>> @@ -112,6 +112,55 @@ static inline void mpam_mon_sel_lock_init(struct mpam_msc *msc)
>>> raw_spin_lock_init(&msc->_mon_sel_lock);
>>> }
>>>
>>> +/*
>>> + * When we compact the supported features, we don't care what they are.
>>> + * Storing them as a bitmap makes life easy.
>>> + */
>>> +typedef u16 mpam_features_t;
>>> +
>>> +/* Bits for mpam_features_t */
>>> +enum mpam_device_features {
>>> + mpam_feat_ccap_part = 0,
>>> + mpam_feat_cpor_part,
>>> + mpam_feat_mbw_part,
>>> + mpam_feat_mbw_min,
>>> + mpam_feat_mbw_max,
>>> + mpam_feat_mbw_prop,
>>> + mpam_feat_msmon,
>>> + mpam_feat_msmon_csu,
>>> + mpam_feat_msmon_csu_capture,
>>> + mpam_feat_msmon_csu_hw_nrdy,
>>> + mpam_feat_msmon_mbwu,
>>> + mpam_feat_msmon_mbwu_capture,
>>> + mpam_feat_msmon_mbwu_rwbw,
>>> + mpam_feat_msmon_mbwu_hw_nrdy,
>>> + mpam_feat_msmon_capt,
>>> + MPAM_FEATURE_LAST,
>>> +};
>
>> I added a garbled comment about this for v1. What I was trying to say is
>> that I don't think this quite matches what resctrl supports. For
>> instance, I don't think mpam_feat_ccap_part matches a resctrl feature.
>
> Ah - right. I thought you meant something was removed later.
> Looks like I thought something could be emulated with CCAP, but that turns out not to be
> true because it doesn't have an implicit isolation property, which the
> resctrl:bitmap-from-userspace requires.
> (I think rwbw was a later addition to the architecture and I added it to the wrong patch).
>
> I'll move that, _prop and _rwbw to the later patch. The split is fairly arbitrary - it was

I think ccap gets split into finer grained features later on which seems
fine.

> just somewhere to split an otherwise large patch, and does help determine if a bug is
> going to be visible to user-space or not.

Ok, sensible, I hadn't appreciated the user-space visibility aspect.

>
> _capt can go completely. Last I heard no-one was interested in firmware descriptions of
> how the capture hardware can be triggered. I suspect no-one has done anything with it.

So, if I've understood correctly this leaves you with the following in
this patch.

mpam_feat_cpor_part,
mpam_feat_mbw_part,
mpam_feat_mbw_min,
mpam_feat_mbw_max,
mpam_feat_mbw_prop,
mpam_feat_msmon,
mpam_feat_msmon_csu,
mpam_feat_msmon_csu_hw_nrdy,
mpam_feat_msmon_mbwu,
mpam_feat_msmon_mbwu_hw_nrdy,

Looks like the correct, resctrl based, split.

>
>
> Thanks,
>
> James

Thanks,

Ben