Re: [PATCH v4 00/24] x86/resctrl: Merge the CDP resources

From: James Morse
Date: Tue Jun 15 2021 - 12:48:53 EST


Hi Reinette,

On 15/06/2021 17:16, Reinette Chatre wrote:
> On 6/14/2021 1:09 PM, James Morse wrote:
>> This series re-folds the resctrl code so the CDP resources (L3CODE et al)
>> behaviour is all contained in the filesystem parts, with a minimum amount
>> of arch specific code.

[..]

>> This series collapses the CODE/DATA resources, moving all the user-visible
>> resctrl ABI into what becomes the filesystem code. CDP becomes the type of
>> configuration being applied to a cache. This is done by adding a
>> struct resctrl_schema to the parts of resctrl that will move to fs. This
>> holds the arch-code resource that is in use for this schema, along with
>> other properties like the name, and whether the configuration being applied
>> is CODE/DATA/BOTH.
>>
>> This lets us fold the extra resources out of the arch code so that they
>> don't need to be duplicated if the equivalent feature to CDP is missing, or
>> implemented in a different way.

[...]

>> This series is based on v5.12-rc6, and can be retrieved from:
>> git://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git mpam/resctrl_merge_cdp/v4


> For the most part I think this series looks good. The one thing I am concerned about is
> the resctrl user interface change. On a system that supports L3 CDP there is a visible
> change when CDP is not enabled:
>
> Before this series:
> # cat schemata
>    L3:0=fffff;1=fffff
>
> After this series:
> # cat schemata
> L3:0=fffff;1=fffff

Hmm, I thought I'd fixed this with v2, ... I see this is subtly different.

This could be tweaked by getting schemata_list_add() to include the length of the longest
suffix if the resource supports CDP, but its not enabled. (Discovering that means
cdp_capable moves to be something the 'fs' bits of resctrl can see.)

I'm a little nervous 'adding 4 spaces' because user-space expects them. (I agree if it
breaks user-space it has to be done). I guess this is the problem with string parsing as
part of the interface!

I assume that in the (distant) future having CDP capable resources with names more than 2
characters isn't going to be a problem. (I don't have an example)


> There are a few user space tools that parse the resctrl schemata file and it may be easier
> to keep the interface consistent than to find and audit them all to ensure they will keep
> working.


> Apart from that, I do think that the dmesg change that Babu pointed out deserves a mention
> in the cover letter. I agree with your response in this regard but this is indeed a user
> visible change and if anybody has issue with that then mentioning it in the cover letter
> will hopefully catch it sooner.

Ah, okay.


> A heads-up is that there are some kernel-doc fixups in the works that will conflict with
> your series. You yourself fix at least one of these kernel-doc issues in this series - the
> description of mbm_width in the first patch. I will ask the submitter of the kernel-doc
> fixups to use your text to help with the merging.

Please point me at something to rebase onto!
(as far as I can see, tip/x86/cache hasn't moved)


> Finally, I did catch a few typos that I will respond to individually.

Thanks!

James