[PATCH v11 04/10] x86/resctrl: Add comments on RFTYPE flags hierarchy
From: Babu Moger
Date: Tue Oct 03 2023 - 19:55:10 EST
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>
Tested-by: Peter Newman <peternewman@xxxxxxxxxx>
Reviewed-by: Peter Newman <peternewman@xxxxxxxxxx>
Tested-by: Tan Shaopeng <tan.shaopeng@xxxxxxxxxxxxxx>
Reviewed-by: Tan Shaopeng <tan.shaopeng@xxxxxxxxxxxxxx>
Reviewed-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Reviewed-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>
---
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 f71bc82c882f..b47a5906f952 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
+ * --> 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, L2CODE, L2DATA, L3CODE, L3DATA
+ * File: num_closids
+ *
+ * --> RFTYPE_RES_CACHE (Files for cache control resources)
+ * Directories: L2, L3, L2CODE, L2DATA, L3CODE, L3DATA
+ * 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 for CTRL group)
+ * Files: mode, schemata, size
+ *
*/
#define RFTYPE_INFO BIT(0)
#define RFTYPE_BASE BIT(1)
--
2.34.1