From 08e26841f82eccfef9cb3c5e27a2d7bc5ebeaf3a Mon Sep 17 00:00:00 2001 From: Babu Moger Date: Tue, 17 Oct 2023 11:34:33 -0500 Subject: [PATCH] x86/resctrl: Add comments on RFTYPE flags hierarchy 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 --- Documentation/arch/x86/resctrl.rst | 73 ++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst index a6279df64a9d..c89a926934fe 100644 --- a/Documentation/arch/x86/resctrl.rst +++ b/Documentation/arch/x86/resctrl.rst @@ -407,6 +407,79 @@ Resource monitoring rules 3) Otherwise RDT events for the task will be reported in the root level "mon_data" group. +resctrl filesystem implementation notes +======================================= + +This section lists the files and directories under resctrl filesystem to +understand filesystem hierarchy. resctrl module uses RFTYPE flags defined +in arch/x86/kernel/cpu/resctrl/internal.h to create files. Directories are +created based on the resource type. + +resctrl filesystem has two main components. + +1) info +2) 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 + 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_MON (Files for MON group) + + --> RFTYPE_DEBUG (Files to help resctrl debugging) + File: mon_hw_id + + --> RFTYPE_CTRL (Files for CTRL group) + Files: mode, schemata, size + + -> RFTYPE_DEBUG (Files to help resctrl debugging) + File: ctrl_hw_id + Notes on cache occupancy monitoring and control =============================================== -- 2.34.1