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)
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
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
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
© 2016 - 2026 Red Hat, Inc.