Re: [PATCH v5 06/40] x86/resctrl: Remove data_width and the tabular format

From: Tony Luck
Date: Tue Oct 15 2024 - 19:29:15 EST


On Fri, Oct 04, 2024 at 06:03:13PM +0000, James Morse wrote:
> The resctrl architecture code provides a data_width for the controls of
> each resource. This is used to zero pad all control values in the schemata
> file so they appear in columns. The same is done with the resource names
> to complete the visual effect. e.g.
> | SMBA:0=2048
> | L3:0=00ff
>
> AMD platforms discover their maximum bandwidth for the MB resource from
> firmware, but hard-code the data_width to 4. If the maximum bandwidth
> requires more digits - the tabular format is silently broken.
> If new schema are added resctrl will need to be able to determine the
> maximum width. The benefit of this pretty-printing is questionable.

Agreed. It's particularly non-useful for L2 resources on systems with
hundred+ cores. The L2 line in schemata is very long and doesn't look
"pretty" at all. Padding may make it even longer.

It never worked with the mba_MBps mount option because the field
width wasn't updated for prettiness. E.g.

$ cat schemata
MB:0=4294967295;1=4294967295
L3:0=fff;1=fff

> Instead of handling runtime discovery of the data_width for AMD platforms,
> remove the feature. These fields are always zero padded so should be
> harmless to remove if the whole field has been treated as a number.
> In the above example, this would now look like this:

Huzzah!

Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx>

-Tony