Re: [PATCH v13 04/10] x86/resctrl: Add comments on RFTYPE flags hierarchy

From: Reinette Chatre
Date: Fri Oct 13 2023 - 17:24:14 EST


Hi Babu,

On 10/13/2023 1:25 PM, Babu Moger wrote:
> resctrl uses RFTYPE flags for creating resctrl directory structure.
>
> Definitions and directory structures are not documented. Add
> comments to improve the readability and help future additions.
>
> Signed-off-by: Babu Moger <babu.moger@xxxxxxx>
> ---
> v13: Fixed the format issues in the documentation. Needed few minor format
> changes to address the syntax issues.(Reinette)
> Removed "Reviewed-by and Tested-by" flags as the patch has changed.
>
> v12: Moved the comments from arch/x86/kernel/cpu/resctrl/internal.h
> to Documentation/arch/x86/resctrl.rst. (Boris)
> ---
> Documentation/arch/x86/resctrl.rst | 64 ++++++++++++++++++++++++++++++
> 1 file changed, 64 insertions(+)
>
> diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst
> index 178ab1d8f747..1163da74f734 100644
> --- a/Documentation/arch/x86/resctrl.rst
> +++ b/Documentation/arch/x86/resctrl.rst
> @@ -369,6 +369,70 @@ When monitoring is enabled all MON groups will also contain:
> the sum for all tasks in the CTRL_MON group and all tasks in
> MON groups. Please see example section for more details on usage.
>
> +RESCTRL filesystem implementation notes
> +=======================================
> +RESCTRL filesystem has two main components
> + a. info
> + b. base
> +
> + /sys/fs/resctrl/
> + |
> + -> info
> + |
> + | (Top level directory named "info". Contains files that
> + | provide details on control and monitoring resources")
> + |
> + -> base
> +

Could you please do a "make htmldocs" and then ensure that the output looks sane?
The resulting output does not look right to me. For example, the above turns into
a single line that looks like:

/sys/fs/resctrl/ | -> info | | (Top level directory named "info". Contains files that | provide details on control and monitoring resources") | -> base


The spacing also looks off when viewing this in html.

> + (Root directory associated with default resource group as
> + well as directories created by user for MON and CTRL groups.
> + Contains files to interact with MON and CTRL groups)
> +
> + Note: resctrl uses flags for files, not for directories.
> + Directories are created based on the resource type. Added
> + directories below for better understanding. The RFTYPE flags
> + are defined in arch/x86/kernel/cpu/resctrl/internal.h.
> +
> + info directory structure
> +

You removed the separator in order to pass the syntax issue but now there is
no indication that this is a heading and the content becomes harder to understand.

> + -> RFTYPE_INFO
> + Directory: info
> +
> + -> RFTYPE_TOP (Files in top level of info directory)
> + File: last_cmd_status
> +
> + -> RFTYPE_MON (Files for all monitoring resources)
> + Directory: L3_MON
> + Files: mon_features, num_rmids
> +
> + -> RFTYPE_RES_CACHE (Files for cache monitoring resources)
> + Directory: L3_MON
> + Files: max_threshold_occupancy,
> + mbm_total_bytes_config,
> + mbm_local_bytes_config
> +
> + -> RFTYPE_CTRL (Files for all control resources)
> + Directories: L2, L3, MB, SMBA, L2CODE, L2DATA, L3CODE, L3DATA
> + File: num_closids
> +
> + -> RFTYPE_RES_CACHE (Files for cache control resources)
> + Directories: L2, L3, L2CODE, L2DATA, L3CODE, L3DATA
> + Files: bit_usage, cbm_mask, min_cbm_bits,
> + shareable_bits
> +
> + -> RFTYPE_RES_MB (Files for memory control resources)
> + Directories: MB, SMBA
> + Files: bandwidth_gran, delay_linear,
> + min_bandwidth, thread_throttle_mode
> +
> + base directory structure
> +

Same here.

> + -> RFTYPE_BASE (Files common for both MON and CTRL groups)
> + Files: cpus, cpus_list, tasks
> +
> + -> RFTYPE_CTRL (Files for CTRL group)
> + Files: mode, schemata, size
> +
> Resource allocation rules
> -------------------------
>

Reinette