Re: [PATCH v7 04/10] x86,fs/resctrl: Implement "io_alloc" enable/disable handlers

From: Moger, Babu
Date: Thu Jul 31 2025 - 13:40:28 EST




On 7/21/25 18:32, Reinette Chatre wrote:
> Hi Babu,
>
> On 7/10/25 10:16 AM, Babu Moger wrote:
>> "io_alloc" enables direct insertion of data from I/O devices into the
>> cache.
>>
>> On AMD systems, "io_alloc" feature is backed by L3 Smart Data Cache
>> Injection Allocation Enforcement (SDCIAE). Change SDCIAE state by setting
>> (to enable) or clearing (to disable) bit 1 of MSR L3_QOS_EXT_CFG on all
>> logical processors within the cache domain.
>>
>> Introduce architecture-specific call to enable and disable the feature.
>>
>> The SDCIAE feature details are available in APM listed below [1].
>> [1] AMD64 Architecture Programmer's Manual Volume 2: System Programming
>> Publication # 24593 Revision 3.41 section 19.4.7 L3 Smart Data Cache
>> Injection Allocation Enforcement (SDCIAE)
>>
>> Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537
>> Signed-off-by: Babu Moger <babu.moger@xxxxxxx>
>> ---
>
> ...
>
>>
>> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> index 885026468440..c165ac333336 100644
>> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>
> The code looks good to me but rdtgroup.c is becoming bloated by being the default place for
> any resctrl changes. While I do know there are counter examples (and I admit I do
> not have a clear understanding of original intent) ctrlmondata.c is documented and supported
> by its content as the place for cache allocation code. Could you please move these changes
> to arch/x86/kernel/cpu/resctrl/ctrlmondata.c? I will try to highlight the other places where
> I believe the either fs/resctrl/ctrlmondata.c or arch/x86/kernel/cpu/resctrl/ctrlmondata.c is
> more appropriate but please as a high level consider where appropriate to move the IO alloc
> code to be with the rest of the cache allocation code. Looking at the series it will help keep
> a couple of existing static functions static and keep data structures local to cache allocation
> code.
>

Sure. Moved it to arch/x86/kernel/cpu/resctrl/ctrlmondata.c.
--
Thanks
Babu Moger