Re: [PATCH v1 17/31] x86/resctrl: Move mbm_cfg_mask to struct rdt_resource

Reinette Chatre
2024-04-11T17:39:14Z

Hi Dave,

On 4/11/2024 7:16 AM, Dave Martin wrote:
> On Mon, Apr 08, 2024 at 08:21:24PM -0700, Reinette Chatre wrote:
>> Hi James,
>>
>> On 3/21/2024 9:50 AM, James Morse wrote:
>>> The mbm_cfg_mask field lists the bits that user-space can set when
>>> configuring an event. This value is output via the last_cmd_status
>>> file.
>>>
>>> Once the filesystem parts of resctrl are moved to live in /fs/, the
>>> struct rdt_hw_resource is inaccessible to the filesystem code. Because
>>> this value is output to user-space, it has to be accessible to the
>>> filesystem code.
>>>
>>> Move it to struct rdt_resource.
>>>
>>> Signed-off-by: James Morse <james.morse@arm.com>
>>
>> ..
>>
>>> diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
>>> index 975b80102fbe..8a7367d1ce45 100644
>>> --- a/include/linux/resctrl.h
>>> +++ b/include/linux/resctrl.h
>>> @@ -140,6 +140,8 @@ struct resctrl_membw {
>>> * @format_str: Per resource format string to show domain value
>>> * @evt_list: List of monitoring events
>>> * @fflags: flags to choose base and info files
>>> + * @mbm_cfg_mask: Bandwidth sources that can be tracked when Bandwidth
>>> + * Monitoring Event Configuration (BMEC) is supported.
>
> [...]
>
>> Reinette
>>
>> BMEC is an AMD term. If MPAM is planning to use this member then this comment
>> should be made generic.
>
> MPAM can (at least) filter reads and/or writes, and it looks like James
> is expecting to support this.
>
> However, it probably does make sense to keep the comments neutral in a
> common header.
>
> Would the following work?
>
> * @ mbm_cfg_mask: Arch-specific event configuration flags
>
>
>
> I think that's broad enough to cover all bases, but I'll wait for your
> response.

Since this is exposed to user space, ideally all architectures would use
the same bits to mean the same thing. I assumed that is what James intended
by placing the existing (AMD BMEC) bits in the global resctrl_types.h.

Reinette