Re: [PATCH v5 3/7] fs/resctrl: Disallow the software controller when MBM counters are assignable
From: Ben Horgan
Date: Tue May 05 2026 - 06:45:50 EST
On 5/5/26 10:34, Ben Horgan wrote:
> Hi Reinette,
>
> On 5/4/26 17:01, Reinette Chatre wrote:
>> Hi Ben,
>>
>> On 4/28/26 6:04 AM, Ben Horgan wrote:
>>
>>> diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
>>> index b382a348dd79..be84bb210e3a 100644
>>> --- a/fs/resctrl/rdtgroup.c
>>> +++ b/fs/resctrl/rdtgroup.c
>>> @@ -2530,7 +2530,8 @@ static bool supports_mba_mbps(void)
>>>
>>> return (resctrl_is_mbm_enabled() &&
>>> r->alloc_capable && is_mba_linear() &&
>>> - r->ctrl_scope == rmbm->mon_scope);
>>> + r->ctrl_scope == rmbm->mon_scope &&
>>> + !rmbm->mon.mbm_cntr_assignable);
>>> }
>>
>> For better or worse supports_mba_mbps() has a function description that documents
>> the above tests. Updating the tests but not the accompanying description creates
>> an inconsistency. How about something like below?
>>
>> diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
>> index 36d21652616e..b456a67b2c24 100644
>> --- a/fs/resctrl/rdtgroup.c
>> +++ b/fs/resctrl/rdtgroup.c
>> @@ -2536,10 +2536,12 @@ static void mba_sc_domain_destroy(struct rdt_resource *r,
>> }
>>
>> /*
>> - * MBA software controller is supported only if
>> - * MBM is supported and MBA is in linear scale,
>> - * and the MBM monitor scope is the same as MBA
>> - * control scope.
>> + * MBA software controller is supported only if MBM is supported and MBA is in
>> + * linear scale, and the MBM monitor scope is the same as MBA control scope.
>> + *
>> + * Software controller cannot be supported when the MBM counters are assignable.
>> + * There is no guarantee that MBM counters are assigned to the event backing
>> + * the software controller in all monitoring domains of all monitoring groups.
>
> Yes, that makes sense to me. I'll use that.
I've add 'The' to the start of the first two sentences as that makes it read a bit better to me.
That ends up as:
/*
* The MBA software controller is supported only if MBM is supported and MBA is
* in linear scale, and the MBM monitor scope is the same as MBA control scope.
*
* The software controller cannot be supported when the MBM counters are
* assignable. There is no guarantee that MBM counters are assigned to the
* event backing the software controller in all monitoring domains of all
* monitoring groups.
*/
Thanks,
Ben
>
> Thanks,
>
> Ben
>
>> */
>> static bool supports_mba_mbps(void)
>> {
>>
>>>
>>> /*
>>> @@ -2945,7 +2946,7 @@ static int rdt_parse_param(struct fs_context *fc, struct fs_parameter *param)
>>> ctx->enable_cdpl2 = true;
>>> return 0;
>>> case Opt_mba_mbps:
>>> - msg = "mba_MBps requires MBM and linear scale MBA at L3 scope";
>>> + msg = "mba_MBps requires MBM (mbm_event mode not supported) and linear scale MBA at L3 scope";
>>> if (!supports_mba_mbps())
>>> return invalfc(fc, msg);
>>> ctx->enable_mba_mbps = true;
>>
>> Reinette
>