Re: [PATCH v13 04/10] x86/resctrl: Add comments on RFTYPE flags hierarchy

From: Moger, Babu
Date: Fri Oct 13 2023 - 17:39:39 EST


Hi Reinette,

On 10/13/2023 4:23 PM, Reinette Chatre wrote:
Hi Babu,

On 10/13/2023 1:25 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>
---
v13: Fixed the format issues in the documentation. Needed few minor format
changes to address the syntax issues.(Reinette)
Removed "Reviewed-by and Tested-by" flags as the patch has changed.

v12: Moved the comments from arch/x86/kernel/cpu/resctrl/internal.h
to Documentation/arch/x86/resctrl.rst. (Boris)
---
Documentation/arch/x86/resctrl.rst | 64 ++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)

diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst
index 178ab1d8f747..1163da74f734 100644
--- a/Documentation/arch/x86/resctrl.rst
+++ b/Documentation/arch/x86/resctrl.rst
@@ -369,6 +369,70 @@ When monitoring is enabled all MON groups will also contain:
the sum for all tasks in the CTRL_MON group and all tasks in
MON groups. Please see example section for more details on usage.
+RESCTRL filesystem implementation notes
+=======================================
+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
+
Could you please do a "make htmldocs" and then ensure that the output looks sane?
The resulting output does not look right to me. For example, the above turns into
a single line that looks like:

/sys/fs/resctrl/ | -> info | | (Top level directory named "info". Contains files that | provide details on control and monitoring resources") | -> base


The spacing also looks off when viewing this in html.


Yes. Messed up again.  Thought fixing the syntax was enough. Will look into this.



+ (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. The RFTYPE flags
+ are defined in arch/x86/kernel/cpu/resctrl/internal.h.
+
+ info directory structure
+
You removed the separator in order to pass the syntax issue but now there is
no indication that this is a heading and the content becomes harder to understand.
Yes. I played with this little bit. Dont know how to make this look as header. Will check it.

+ -> 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
+
Same here.

Yes. Will check it.

thanks

Babu