2023-09-16 03:21:47

by Moger, Babu

[permalink] [raw]
Subject: [PATCH v10 09/10] x86/resctrl: Add support for the files for MON groups only

There are 3 types resctrl root files.
1. RFTYPE_BASE : Files common for both MON and CTRL groups
2. RFTYPE_BASE | RFTYPE_CTRL : Files only for CTRL groups
3. RFTYPE_BASE | RFTYPE_MON : Files only for MON groups

Files only for the MON groups are not supported now. Add the
support to create these files.

Signed-off-by: Babu Moger <[email protected]>
---
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
index 953b082cec8a..55d1b90f460e 100644
--- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
+++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
@@ -2533,6 +2533,7 @@ static void schemata_list_destroy(void)
static int rdt_get_tree(struct fs_context *fc)
{
struct rdt_fs_context *ctx = rdt_fc2context(fc);
+ unsigned long flags = RFTYPE_CTRL_BASE;
struct rdt_domain *dom;
struct rdt_resource *r;
int ret;
@@ -2563,7 +2564,10 @@ static int rdt_get_tree(struct fs_context *fc)

closid_init();

- ret = rdtgroup_add_files(rdtgroup_default.kn, RFTYPE_CTRL_BASE);
+ if (rdt_mon_capable)
+ flags |= RFTYPE_MON;
+
+ ret = rdtgroup_add_files(rdtgroup_default.kn, flags);
if (ret)
goto out_schemata_free;

@@ -3253,8 +3257,8 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
enum rdt_group_type rtype, struct rdtgroup **r)
{
struct rdtgroup *prdtgrp, *rdtgrp;
+ unsigned long files = 0;
struct kernfs_node *kn;
- uint files = 0;
int ret;

prdtgrp = rdtgroup_kn_lock_live(parent_kn);
@@ -3306,10 +3310,13 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
goto out_destroy;
}

- if (rtype == RDTCTRL_GROUP)
+ if (rtype == RDTCTRL_GROUP) {
files = RFTYPE_BASE | RFTYPE_CTRL;
- else
+ if (rdt_mon_capable)
+ files |= RFTYPE_MON;
+ } else {
files = RFTYPE_BASE | RFTYPE_MON;
+ }

ret = rdtgroup_add_files(kn, files);
if (ret) {
--
2.34.1


2023-09-26 02:45:33

by Fenghua Yu

[permalink] [raw]
Subject: Re: [PATCH v10 09/10] x86/resctrl: Add support for the files for MON groups only


On 9/15/23 15:42, Babu Moger wrote:
> There are 3 types resctrl root files.
> 1. RFTYPE_BASE : Files common for both MON and CTRL groups
> 2. RFTYPE_BASE | RFTYPE_CTRL : Files only for CTRL groups
> 3. RFTYPE_BASE | RFTYPE_MON : Files only for MON groups
>
> Files only for the MON groups are not supported now. Add the
> support to create these files.
>
> Signed-off-by: Babu Moger <[email protected]>

Reviewed-by: Fenghua Yu <[email protected]>

Thanks.

-Fenghua

2023-09-27 18:44:47

by Reinette Chatre

[permalink] [raw]
Subject: Re: [PATCH v10 09/10] x86/resctrl: Add support for the files for MON groups only

Hi Babu,

On 9/15/2023 3:42 PM, Babu Moger wrote:
> There are 3 types resctrl root files.

Considering patch #4, should this be "base"?

> 1. RFTYPE_BASE : Files common for both MON and CTRL groups
> 2. RFTYPE_BASE | RFTYPE_CTRL : Files only for CTRL groups

If (1) is accurate then I cannot see how (2) can be accurate.

> 3. RFTYPE_BASE | RFTYPE_MON : Files only for MON groups

Same here.

>
> Files only for the MON groups are not supported now. Add the
> support to create these files.

This is not accurate. Files "only for the MON groups" are
actually the only monitor files that *are* supported. The
problem being fixed here is that monitor files are
not supported for CTRL_MON groups.

I made an attempt at rewriting this commit message but I am
doing it quite quickly so please do improve it:

Files unique to monitoring groups have the
RFTYPE_MON flag. When a new monitoring group is created
the resctrl files with flags RFTYPE_BASE (files common
to all resource groups) and RFTYPE_MON (files unique
to monitoring groups) are created to support interacting with
the new monitoring group.

A resource group can support both monitoring and control,
also termed a CTRL_MON resource group. CTRL_MON groups should
get both monitoring and control resctrl files but that
is not the case. Only the RFTYPE_BASE and RFTYPE_CTRL files
are created for CTRL_MON groups. This is not a problem
because there are no monitoring specific files with the
RFTYPE_MON flag associated with resource groups.

A later patch introduces the first RFTYPE_MON file for
resource groups so fix resctrl file creation for CTRL_MON
groups to ensure that monitoring files, those with the
RFTYPE_MON flag, are also created.

> Signed-off-by: Babu Moger <[email protected]>
> ---

I only have feedback about the changelog. The patch looks good to me.

Reinette

2023-09-28 01:51:04

by Reinette Chatre

[permalink] [raw]
Subject: Re: [PATCH v10 09/10] x86/resctrl: Add support for the files for MON groups only

Hi Babu,

On 9/27/2023 2:34 PM, Moger, Babu wrote:
> Hi Reinette,
>
> On 9/27/2023 1:34 PM, Reinette Chatre wrote:
>> Hi Babu,
>>
>> On 9/15/2023 3:42 PM, Babu Moger wrote:
>>> There are 3 types resctrl root files.
>> Considering patch #4, should this be "base"?
> Sure.
>>
>>> 1. RFTYPE_BASE : Files common for both MON and CTRL groups
>>> 2. RFTYPE_BASE | RFTYPE_CTRL : Files only for CTRL groups
>> If (1) is accurate then I cannot see how (2) can be accurate.
>
> How about ?
>
> 2. RFTYPE_BASE | RFTYPE_CTRL : Files for the CTRL groups

Yes, this is accurate. Even so, this snippet does not seem
necessary considering the changelog rewrite below.

>
>>
>>> 3. RFTYPE_BASE | RFTYPE_MON : Files only for MON groups
>> Same here.
>
> How bout?
>
> 3. RFTYPE_BASE | RFTYPE_MON : Files for the MON groups

Same comment.

>
>>
>>> Files only for the MON groups are not supported now. Add the
>>> support to create these files.
>> This is not accurate. Files "only for the MON groups" are
>> actually the only monitor files that *are* supported. The
>> problem being fixed here is that monitor files are
>> not supported for CTRL_MON groups.
>>
>> I made an attempt at rewriting this commit message but I am
>> doing it quite quickly so please do improve it:
>>
>>     Files unique to monitoring groups have the
>>     RFTYPE_MON flag. When a new monitoring group is created
>>     the resctrl files with flags RFTYPE_BASE (files common
>>     to all resource groups) and RFTYPE_MON (files unique
>>     to monitoring groups) are created to support interacting with
>>     the new monitoring group.
>>
>>     A resource group can support both monitoring and control,
>>     also termed a CTRL_MON resource group. CTRL_MON groups should
>>     get both monitoring and control resctrl files but that
>>     is not the case. Only the RFTYPE_BASE and RFTYPE_CTRL files
>>     are created for    CTRL_MON groups. This is not a problem
>>     because there are no monitoring specific files with the
>>     RFTYPE_MON flag associated with resource groups.
>>
>>     A later patch introduces the first RFTYPE_MON file for
>>     resource groups so fix resctrl file creation for CTRL_MON
>>     groups to ensure that monitoring files,    those with the
>>     RFTYPE_MON flag, are also created.
>
> Looks good with slight change(only last para. Rest looks good). Just removed the "fix".
>
> A later patch introduces the first RFTYPE_MON file for
> resource groups. Add the changes to create the files for CTRL_MON
> groups to ensure that monitoring files,    those with the RFTYPE_MON flag,
> are also created.
>

"Add the changes to" is not necessary. With this and removing the "fix" it
can be summarized to:
A later patch introduces the first monitoring specific (RFTYPE_MON)
file for resource groups. Ensure that files with the RFTYPE_MON
flag are created for CTRL_MON groups.

What do you think?

Reinette

2023-09-28 03:13:34

by Moger, Babu

[permalink] [raw]
Subject: Re: [PATCH v10 09/10] x86/resctrl: Add support for the files for MON groups only

Hi Reinette,

On 9/27/2023 1:34 PM, Reinette Chatre wrote:
> Hi Babu,
>
> On 9/15/2023 3:42 PM, Babu Moger wrote:
>> There are 3 types resctrl root files.
> Considering patch #4, should this be "base"?
Sure.
>
>> 1. RFTYPE_BASE : Files common for both MON and CTRL groups
>> 2. RFTYPE_BASE | RFTYPE_CTRL : Files only for CTRL groups
> If (1) is accurate then I cannot see how (2) can be accurate.

How about ?

2. RFTYPE_BASE | RFTYPE_CTRL : Files for the CTRL groups

>
>> 3. RFTYPE_BASE | RFTYPE_MON : Files only for MON groups
> Same here.

How bout?

3. RFTYPE_BASE | RFTYPE_MON : Files for the MON groups

>
>> Files only for the MON groups are not supported now. Add the
>> support to create these files.
> This is not accurate. Files "only for the MON groups" are
> actually the only monitor files that *are* supported. The
> problem being fixed here is that monitor files are
> not supported for CTRL_MON groups.
>
> I made an attempt at rewriting this commit message but I am
> doing it quite quickly so please do improve it:
>
> Files unique to monitoring groups have the
> RFTYPE_MON flag. When a new monitoring group is created
> the resctrl files with flags RFTYPE_BASE (files common
> to all resource groups) and RFTYPE_MON (files unique
> to monitoring groups) are created to support interacting with
> the new monitoring group.
>
> A resource group can support both monitoring and control,
> also termed a CTRL_MON resource group. CTRL_MON groups should
> get both monitoring and control resctrl files but that
> is not the case. Only the RFTYPE_BASE and RFTYPE_CTRL files
> are created for CTRL_MON groups. This is not a problem
> because there are no monitoring specific files with the
> RFTYPE_MON flag associated with resource groups.
>
> A later patch introduces the first RFTYPE_MON file for
> resource groups so fix resctrl file creation for CTRL_MON
> groups to ensure that monitoring files, those with the
> RFTYPE_MON flag, are also created.

Looks good with slight change(only last para. Rest looks good). Just
removed the "fix".

A later patch introduces the first RFTYPE_MON file for
resource groups. Add the changes to create the files for CTRL_MON
groups to ensure that monitoring files, those with the RFTYPE_MON flag,
are also created.


>
>> Signed-off-by: Babu Moger <[email protected]>
>> ---
> I only have feedback about the changelog. The patch looks good to me.

Thanks

Babu

2023-09-29 23:42:13

by Ilpo Järvinen

[permalink] [raw]
Subject: Re: [PATCH v10 09/10] x86/resctrl: Add support for the files for MON groups only

On Fri, 15 Sep 2023, Babu Moger wrote:

> There are 3 types resctrl root files.
> 1. RFTYPE_BASE : Files common for both MON and CTRL groups
> 2. RFTYPE_BASE | RFTYPE_CTRL : Files only for CTRL groups
> 3. RFTYPE_BASE | RFTYPE_MON : Files only for MON groups
>
> Files only for the MON groups are not supported now. Add the
> support to create these files.
>
> Signed-off-by: Babu Moger <[email protected]>
> ---
> arch/x86/kernel/cpu/resctrl/rdtgroup.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> index 953b082cec8a..55d1b90f460e 100644
> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> @@ -2533,6 +2533,7 @@ static void schemata_list_destroy(void)
> static int rdt_get_tree(struct fs_context *fc)
> {
> struct rdt_fs_context *ctx = rdt_fc2context(fc);
> + unsigned long flags = RFTYPE_CTRL_BASE;
> struct rdt_domain *dom;
> struct rdt_resource *r;
> int ret;
> @@ -2563,7 +2564,10 @@ static int rdt_get_tree(struct fs_context *fc)
>
> closid_init();
>
> - ret = rdtgroup_add_files(rdtgroup_default.kn, RFTYPE_CTRL_BASE);
> + if (rdt_mon_capable)
> + flags |= RFTYPE_MON;
> +
> + ret = rdtgroup_add_files(rdtgroup_default.kn, flags);
> if (ret)
> goto out_schemata_free;
>
> @@ -3253,8 +3257,8 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
> enum rdt_group_type rtype, struct rdtgroup **r)
> {
> struct rdtgroup *prdtgrp, *rdtgrp;
> + unsigned long files = 0;
> struct kernfs_node *kn;
> - uint files = 0;
> int ret;
>
> prdtgrp = rdtgroup_kn_lock_live(parent_kn);
> @@ -3306,10 +3310,13 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
> goto out_destroy;
> }
>
> - if (rtype == RDTCTRL_GROUP)
> + if (rtype == RDTCTRL_GROUP) {
> files = RFTYPE_BASE | RFTYPE_CTRL;
> - else
> + if (rdt_mon_capable)
> + files |= RFTYPE_MON;
> + } else {
> files = RFTYPE_BASE | RFTYPE_MON;
> + }
>
> ret = rdtgroup_add_files(kn, files);
> if (ret) {
>

Reviewed-by: Ilpo J?rvinen <[email protected]>

--
i.

2023-10-02 19:24:49

by Moger, Babu

[permalink] [raw]
Subject: Re: [PATCH v10 09/10] x86/resctrl: Add support for the files for MON groups only

Hi Reinette,
Forgot to respond to this.

On 9/27/23 17:02, Reinette Chatre wrote:
> Hi Babu,
>
> On 9/27/2023 2:34 PM, Moger, Babu wrote:
>> Hi Reinette,
>>
>> On 9/27/2023 1:34 PM, Reinette Chatre wrote:
>>> Hi Babu,
>>>
>>> On 9/15/2023 3:42 PM, Babu Moger wrote:
>>>> There are 3 types resctrl root files.
>>> Considering patch #4, should this be "base"?
>> Sure.
>>>
>>>> 1. RFTYPE_BASE : Files common for both MON and CTRL groups
>>>> 2. RFTYPE_BASE | RFTYPE_CTRL : Files only for CTRL groups
>>> If (1) is accurate then I cannot see how (2) can be accurate.
>>
>> How about ?
>>
>> 2. RFTYPE_BASE | RFTYPE_CTRL : Files for the CTRL groups
>
> Yes, this is accurate. Even so, this snippet does not seem
> necessary considering the changelog rewrite below.

Sure. Removed this whole snippet.

>
>>
>>>
>>>> 3. RFTYPE_BASE | RFTYPE_MON : Files only for MON groups
>>> Same here.
>>
>> How bout?
>>
>> 3. RFTYPE_BASE | RFTYPE_MON : Files for the MON groups
>
> Same comment.
>
>>
>>>
>>>> Files only for the MON groups are not supported now. Add the
>>>> support to create these files.
>>> This is not accurate. Files "only for the MON groups" are
>>> actually the only monitor files that *are* supported. The
>>> problem being fixed here is that monitor files are
>>> not supported for CTRL_MON groups.
>>>
>>> I made an attempt at rewriting this commit message but I am
>>> doing it quite quickly so please do improve it:
>>>
>>>     Files unique to monitoring groups have the
>>>     RFTYPE_MON flag. When a new monitoring group is created
>>>     the resctrl files with flags RFTYPE_BASE (files common
>>>     to all resource groups) and RFTYPE_MON (files unique
>>>     to monitoring groups) are created to support interacting with
>>>     the new monitoring group.
>>>
>>>     A resource group can support both monitoring and control,
>>>     also termed a CTRL_MON resource group. CTRL_MON groups should
>>>     get both monitoring and control resctrl files but that
>>>     is not the case. Only the RFTYPE_BASE and RFTYPE_CTRL files
>>>     are created for    CTRL_MON groups. This is not a problem
>>>     because there are no monitoring specific files with the
>>>     RFTYPE_MON flag associated with resource groups.
>>>
>>>     A later patch introduces the first RFTYPE_MON file for
>>>     resource groups so fix resctrl file creation for CTRL_MON
>>>     groups to ensure that monitoring files,    those with the
>>>     RFTYPE_MON flag, are also created.
>>
>> Looks good with slight change(only last para. Rest looks good). Just removed the "fix".
>>
>> A later patch introduces the first RFTYPE_MON file for
>> resource groups. Add the changes to create the files for CTRL_MON
>> groups to ensure that monitoring files,    those with the RFTYPE_MON flag,
>> are also created.
>>
>
> "Add the changes to" is not necessary. With this and removing the "fix" it
> can be summarized to:
> A later patch introduces the first monitoring specific (RFTYPE_MON)
> file for resource groups. Ensure that files with the RFTYPE_MON
> flag are created for CTRL_MON groups.
>
> What do you think?
>
Yes. Looks good.
--
Thanks
Babu Moger