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

From: Reinette Chatre
Date: Mon Oct 16 2023 - 16:46:56 EST


Hi Babu,

On 10/14/2023 4:06 PM, Moger, Babu wrote:
> On 10/13/2023 4:39 PM, Moger, Babu wrote:
>> On 10/13/2023 4:23 PM, Reinette Chatre wrote:
>>> 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.
>>
> I have fixed the all the format issues. Please let me know if it
> looks ok. I will send the final version after that.
>
> Attached the patch and also added the diff inline.

This still does not look as though you consider how the document
looks after the changes.

Consider the organization. Before your changes (assume numbering starts
at 1):

1. User Interface for Resource Control feature
1.1 Info directory
1.2 Resource alloc and monitor groups
1.2.1 Resource allocation rules
1.2.2 Resource monitoring rules
1.3 Notes on cache occupancy monitoring and control
...

After your changes:

1. User Interface for Resource Control feature
1.1 Info directory
1.2 Resource alloc and monitor groups
1.2.1 Resource allocation rules
1.2.2 Resource monitoring rules
1.2.3 RESCTRL filesystem implementation notes
1.3 Notes on cache occupancy monitoring and control
...

Note how the "RESCTRL filesystem implementation notes" is inserted
as a subsection of resource and monitoring groups. Since the text
describes all files in resctrl (not just resource groups) I expect
that it would not be buried as a subsection of resource groups.

This addition also ignores existing customs. Nowhere in the
entire document will you find "RESCTRL" (well, except for the
config option).

> Thanks
>
> diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst
> index 178ab1d8f747..e990272e9a4f 100644
> --- a/Documentation/arch/x86/resctrl.rst
> +++ b/Documentation/arch/x86/resctrl.rst
> @@ -396,6 +396,67 @@ Resource monitoring rules
>  3) Otherwise RDT events for the task will be reported in the root level
>     "mon_data" group.
>
> +RESCTRL filesystem implementation notes
> +---------------------------------------
> +RESCTRL filesystem has two main components.

This documentation was extracted as-is from the header file where it
was next to the flags being documented. With this move all that context
is lost so it may be helpful to summarize what is documented here.

> +
> +a. info
> +b. base
> +
> +::

If I understand correctly, instead of adjusting to the target format you
hardcode all the text as pre-formatted? That may be ok. I cannot speak to
whether this matches expectations of the proposal to move the documentation
here.

> +
> +       /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 the directories
> +                     below for better understanding. The RFTYPE flags are defined
> +                     in arch/x86/kernel/cpu/resctrl/internal.h.
> +
> +"info directory structure"::
> +

This unexpected. In your previous response you noted that you did not know
how to make it look like a header. I expected that you would read the manual
to answer your own question but instead you just placed the title in quotes? I do
not see how placing text in quotes create impression that it is a header.
There is syntax to indicate section headers.

Reinette