2023-08-23 07:38:11

by Shaopeng Tan (Fujitsu)

[permalink] [raw]
Subject: RE: [PATCH v8 4/8] x86/resctrl: Add comments on RFTYPE flags hierarchy

Hi Babu,


> 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 <[email protected]>
> ---
> arch/x86/kernel/cpu/resctrl/internal.h | 58
> ++++++++++++++++++++++++++
> 1 file changed, 58 insertions(+)
>
> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h
> b/arch/x86/kernel/cpu/resctrl/internal.h
> index 2051179a3b91..b09e7abd1299 100644
> --- a/arch/x86/kernel/cpu/resctrl/internal.h
> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
> @@ -240,6 +240,64 @@ 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.)
> + *
> + * Note: resctrl uses flags for files, not for directories.
> + * Directories are created based on the resource type. Added
> + * directories below for better understanding.
> + *
> + * info directory structure
> + * ------------------------------------------------------------------
> + * --> RFTYPE_INFO
> + * directory: info
"directory" ->"Directory"

> + * --> 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
> + * File: num_closids
> + *
> + * --> RFTYPE_RES_CACHE (Files for cache control
> resources)
> + * Directories: L2, L3
> + * 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
> + * ------------------------------------------------------------------
> + * --> RFTYPE_BASE (Files common for both MON and CTRL groups)
> + * Files: cpus, cpus_list, tasks
> + *
> + * --> RFTYPE_CTRL (Files only for CTRL group)
> + * Files: mode, schemata, size
I think this is reinette's advice,
but " --> RFTYPE_CTRL (Files only for CTRL group)" looks like a subdirectory.
Is this expected?

Best regards,
Shaopeng TAN