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

From: Moger, Babu
Date: Wed Aug 16 2023 - 11:35:42 EST


Hi Reinette,

On 8/15/23 17:45, Reinette Chatre wrote:
> 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.

ok. Sure.


>> + * --> 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.

Sure..

With both these changes. Here is the diff on top of current patch.

diff --git a/arch/x86/kernel/cpu/resctrl/internal.h
b/arch/x86/kernel/cpu/resctrl/internal.h
index 37800724e002..412a9ef98171 100644
--- a/arch/x86/kernel/cpu/resctrl/internal.h
+++ b/arch/x86/kernel/cpu/resctrl/internal.h
@@ -264,12 +264,16 @@ struct rdtgroup {
*
* --> RFTYPE_MON_INFO
* --> <L3_MON> directory
- * Files: max_threshold_occupancy, mon_features,
- * num_rmids, mbm_total_bytes_config,
- * mbm_local_bytes_config
+ * Files: mon_features, num_rmids
+ *
+ * --> RFTYPE_RES_CACHE
+ * Files: max_threshold_occupancy,
+ * mbm_total_bytes_config,
+ * mbm_local_bytes_config
*
* --> RFTYPE_CTRL_INFO
* Files: num_closids
+ * These files appear in all the sub-directories.
*
* --> RFTYPE_RES_CACHE
* --> <L2,L3> directories


Thanks
Babu

>
>> + * --> 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

--
Thanks
Babu Moger