Re: [PATCH v6 19/42] x86/resctrl: Add resctrl_arch_is_evt_configurable() to abstract BMEC
From: James Morse
Date: Fri Feb 28 2025 - 14:58:59 EST
Hi Reinette,
On 20/02/2025 00:13, Reinette Chatre wrote:
> On 2/7/25 10:18 AM, James Morse wrote:
>> When BMEC is supported the resctrl event can be configured in a number
>> of ways. This depends on architecture support. rdt_get_mon_l3_config()
>> modifies the struct mon_evt and calls mbm_config_rftype_init() to create
>> the files that allow the configuration.
>>
>> Splitting this into separate architecture and filesystem parts would
>> require the struct mon_evt and mbm_config_rftype_init() to be exposed.
>>
>> Instead, add resctrl_arch_is_evt_configurable(), and use this from
>> resctrl_mon_resource_init() to initialise struct mon_evt and call
>> mbm_config_rftype_init().
>> resctrl_arch_is_evt_configurable() calls rdt_cpu_has() so it doesn't
>> obviously benefit from being inlined. Putting it in core.c will allow
>> rdt_cpu_has() to eventually become static.
> Please replace all instances of mbm_config_rftype_init() with
> resctrl_file_fflags_init().
Fixed, sorry I didn't spot that.
>> diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
>> index 7d14d80b3f94..43a9291988d3 100644
>> --- a/arch/x86/kernel/cpu/resctrl/core.c
>> +++ b/arch/x86/kernel/cpu/resctrl/core.c
>> @@ -831,6 +831,21 @@ bool __init rdt_cpu_has(int flag)
>> return ret;
>> }
>>
>> +bool __init resctrl_arch_is_evt_configurable(enum resctrl_event_id evt)
> I know resctrl is not consistent in this regard but I think that it would improve
> resctrl quality if new additions follow guidance from Documentation/process/coding-style.rst
> (see section 6.1) Function prototypes) to place storage class attribute
> (__init) before return type.
Done.
Thanks,
James