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

Babu Moger posted 8 patches 2 years, 6 months ago
There is a newer version of this series
[PATCH v6 4/8] x86/resctrl: Add comments on RFTYPE flags hierarchy
Posted by Babu Moger 2 years, 6 months ago
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@amd.com>
---
 arch/x86/kernel/cpu/resctrl/internal.h |   48 ++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
index 2051179a3b91..783c3e36633c 100644
--- a/arch/x86/kernel/cpu/resctrl/internal.h
+++ b/arch/x86/kernel/cpu/resctrl/internal.h
@@ -240,6 +240,54 @@ 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_locat_bytes_config
+ *
+ *		--> RFTYPE_CTRL_INFO
+ *			--> RFTYPE_RES_CACHE
+ *			--> <L2,L3> directory
+ *			    Files: bit_usage, cbm_mask, min_cbm_bits,
+ *			           num_closids, shareable_bits
+ *
+ *			--> RFTYPE_RES_MB
+ *			--> <MB,SMBA> directory
+ *			    Files: bandwidth_gran, delay_linear,
+ * 			           min_bandwidth, num_closids,
+ *			           thread_throttle_mode
+ *
+ *	base (root) 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)

Re: [PATCH v6 4/8] x86/resctrl: Add comments on RFTYPE flags hierarchy
Posted by Reinette Chatre 2 years, 6 months ago
Hi Babu,

On 7/19/2023 4:21 PM, Babu Moger wrote:
> + *	------------------------------------------------------------------
> + *	--> 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_locat_bytes_config

mbm_locat_bytes_config -> mbm_local_bytes_config

> + *
> + *		--> RFTYPE_CTRL_INFO
> + *			--> RFTYPE_RES_CACHE
> + *			--> <L2,L3> directory

Should this be "directories"?

> + *			    Files: bit_usage, cbm_mask, min_cbm_bits,
> + *			           num_closids, shareable_bits

Based on the hierarchy presented the files mentioned here may be expected
to be associated with RFTYPE_CTRL_INFO | RFTYPE_RES_CACHE.
For accuracy it may be better to move num_closids one level higher so
that it is only associated with RFTYPE_CTRL_INFO?

> + *
> + *			--> RFTYPE_RES_MB
> + *			--> <MB,SMBA> directory

directories?

> + *			    Files: bandwidth_gran, delay_linear,
> + * 			           min_bandwidth, num_closids,

Please remove space before tab for a clean checkpatch.pl run.

> + *			           thread_throttle_mode
> + *
> + *	base (root) directory structure

Since "base" refers to more than the root directory I think this can
just be "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
Re: [PATCH v6 4/8] x86/resctrl: Add comments on RFTYPE flags hierarchy
Posted by Moger, Babu 2 years, 6 months ago
Reinette,

On 8/4/23 15:39, Reinette Chatre wrote:
> Hi Babu,
> 
> On 7/19/2023 4:21 PM, Babu Moger wrote:
>> + *	------------------------------------------------------------------
>> + *	--> 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_locat_bytes_config
> 
> mbm_locat_bytes_config -> mbm_local_bytes_config
> 
>> + *
>> + *		--> RFTYPE_CTRL_INFO
>> + *			--> RFTYPE_RES_CACHE
>> + *			--> <L2,L3> directory
> 
> Should this be "directories"?
> 
>> + *			    Files: bit_usage, cbm_mask, min_cbm_bits,
>> + *			           num_closids, shareable_bits
> 
> Based on the hierarchy presented the files mentioned here may be expected
> to be associated with RFTYPE_CTRL_INFO | RFTYPE_RES_CACHE.
> For accuracy it may be better to move num_closids one level higher so
> that it is only associated with RFTYPE_CTRL_INFO?

Missed this earlier. Sure.

> 
>> + *
>> + *			--> RFTYPE_RES_MB
>> + *			--> <MB,SMBA> directory
> 
> directories?
> 
>> + *			    Files: bandwidth_gran, delay_linear,
>> + * 			           min_bandwidth, num_closids,
> 
> Please remove space before tab for a clean checkpatch.pl run.
> 
>> + *			           thread_throttle_mode
>> + *
>> + *	base (root) directory structure
> 
> Since "base" refers to more than the root directory I think this can
> just be "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
Re: [PATCH v6 4/8] x86/resctrl: Add comments on RFTYPE flags hierarchy
Posted by Moger, Babu 2 years, 6 months ago
Hi Reinette,

On 8/4/23 15:39, Reinette Chatre wrote:
> Hi Babu,
> 
> On 7/19/2023 4:21 PM, Babu Moger wrote:
>> + *	------------------------------------------------------------------
>> + *	--> 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_locat_bytes_config
> 
> mbm_locat_bytes_config -> mbm_local_bytes_config

Good catch. Thanks

> 
>> + *
>> + *		--> RFTYPE_CTRL_INFO
>> + *			--> RFTYPE_RES_CACHE
>> + *			--> <L2,L3> directory
> 
> Should this be "directories"?

Yes.

> 
>> + *			    Files: bit_usage, cbm_mask, min_cbm_bits,
>> + *			           num_closids, shareable_bits
> 
> Based on the hierarchy presented the files mentioned here may be expected
> to be associated with RFTYPE_CTRL_INFO | RFTYPE_RES_CACHE.
> For accuracy it may be better to move num_closids one level higher so
> that it is only associated with RFTYPE_CTRL_INFO?
> 
>> + *
>> + *			--> RFTYPE_RES_MB
>> + *			--> <MB,SMBA> directory
> 
> directories?

Yes.

> 
>> + *			    Files: bandwidth_gran, delay_linear,
>> + * 			           min_bandwidth, num_closids,
> 
> Please remove space before tab for a clean checkpatch.pl run.

Sure.
> 
>> + *			           thread_throttle_mode
>> + *
>> + *	base (root) directory structure
> 
> Since "base" refers to more than the root directory I think this can
> just be "base directory structure".

Sure.

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