Re: [PATCH v7 4/8] x86/resctrl: Add comments on RFTYPE flags hierarchy

From: Reinette Chatre
Date: Tue Aug 15 2023 - 18:46:36 EST


Hi Babu,

On 8/11/2023 1:09 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>
> ---
> arch/x86/kernel/cpu/resctrl/internal.h | 49 ++++++++++++++++++++++++++++++++
> 1 file changed, 49 insertions(+)
>
> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
> index 2051179a3b91..37800724e002 100644
> --- a/arch/x86/kernel/cpu/resctrl/internal.h
> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
> @@ -240,6 +240,55 @@ struct rdtgroup {
>
> /*
> * Define the file type flags for base and info directories.
> + *
> + * 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 (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.)
> + *
> + * info directory structure
> + * ------------------------------------------------------------------
> + * --> RFTYPE_INFO
> + * --> <info> directory
> + * --> RFTYPE_TOP_INFO
> + * Files: last_cmd_status
> + *
> + * --> RFTYPE_MON_INFO
> + * --> <L3_MON> directory
> + * Files: max_threshold_occupancy, mon_features,
> + * num_rmids, mbm_total_bytes_config,
> + * mbm_local_bytes_config
> + *

I think the monitor files need the same split as what you did for
control files in this version. That is, there are some files
that depend on RFTYPE_MON_INFO and others that depend on
RFTYPE_MON_INFO | RFTYPE_RES_CACHE. In above it appears that
all files depend on RFTYPE_MON_INFO only.

> + * --> RFTYPE_CTRL_INFO
> + * Files: num_closids
> + *

Looking at this closer I can see some potential confusion about where these
files appear. A note saying that these files appear in all sub-directories
may be helpful because at this point it appears that this file is at the
same level as the directories.

> + * --> RFTYPE_RES_CACHE
> + * --> <L2,L3> directories
> + * Files: bit_usage, cbm_mask, min_cbm_bits,
> + * shareable_bits
> + *
> + * --> RFTYPE_RES_MB
> + * --> <MB,SMBA> directories
> + * Files: bandwidth_gran, delay_linear,
> + * min_bandwidth, thread_throttle_mode
> + *
> + * base directory structure
> + * ------------------------------------------------------------------
> + * --> RFTYPE_BASE (Files common for both MON and CTRL groups)
> + * Files: cpus, cpus_list, tasks
> + *
> + * --> RFTYPE_CTRL_BASE (Files only for CTRL group)
> + * Files: mode, schemata, size
> + *
> */
> #define RFTYPE_INFO BIT(0)
> #define RFTYPE_BASE BIT(1)
>
>

Reinette