[v3,2/7] x86/resctrl: Remove few unnecessary rftype flags

Message ID 167778867236.1053859.12920879751317268318.stgit@bmoger-ubuntu
State New
Headers
Series x86/resctrl: Miscellaneous resctrl features |

Commit Message

Moger, Babu March 2, 2023, 8:24 p.m. UTC
  Remove few unnecessary rftype flags and simplify the code. This is done
to further cleanup the code eventually.

Signed-off-by: Babu Moger <babu.moger@amd.com>
---
 arch/x86/kernel/cpu/resctrl/internal.h |    9 +++------
 arch/x86/kernel/cpu/resctrl/rdtgroup.c |   10 +++++++---
 2 files changed, 10 insertions(+), 9 deletions(-)
  

Comments

Reinette Chatre March 15, 2023, 6:33 p.m. UTC | #1
Hi Babu,

On 3/2/2023 12:24 PM, Babu Moger wrote:
> Remove few unnecessary rftype flags and simplify the code. This is done

Please drop "few" (here and in subject).

> to further cleanup the code eventually.

Could you please be specific? "further cleanup the code
eventually" is too vague. I do not understand what is meant
with the second sentence.

> 
> Signed-off-by: Babu Moger <babu.moger@amd.com>
> ---
>  arch/x86/kernel/cpu/resctrl/internal.h |    9 +++------
>  arch/x86/kernel/cpu/resctrl/rdtgroup.c |   10 +++++++---
>  2 files changed, 10 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
> index 8edecc5763d8..571145d75d29 100644
> --- a/arch/x86/kernel/cpu/resctrl/internal.h
> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
> @@ -243,12 +243,9 @@ struct rdtgroup {
>   */
>  #define RFTYPE_INFO			BIT(0)
>  #define RFTYPE_BASE			BIT(1)
> -#define RF_CTRLSHIFT			4
> -#define RF_MONSHIFT			5
> -#define RF_TOPSHIFT			6
> -#define RFTYPE_CTRL			BIT(RF_CTRLSHIFT)
> -#define RFTYPE_MON			BIT(RF_MONSHIFT)
> -#define RFTYPE_TOP			BIT(RF_TOPSHIFT)
> +#define RFTYPE_CTRL			BIT(4)
> +#define RFTYPE_MON			BIT(5)
> +#define RFTYPE_TOP			BIT(6)
>  #define RFTYPE_RES_CACHE		BIT(8)
>  #define RFTYPE_RES_MB			BIT(9)
>  #define RF_CTRL_INFO			(RFTYPE_INFO | RFTYPE_CTRL)
> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> index 15ea5b550fe9..3c86506e54c1 100644
> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> @@ -3163,7 +3163,7 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
>  {
>  	struct rdtgroup *prdtgrp, *rdtgrp;
>  	struct kernfs_node *kn;
> -	uint files = 0;
> +	uint fflags = 0;

Hoe does changing the variable name from "files" to "fflags" simplify
the code?

>  	int ret;
>  
>  	prdtgrp = rdtgroup_kn_lock_live(parent_kn);
> @@ -3215,8 +3215,12 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
>  		goto out_destroy;
>  	}
>  
> -	files = RFTYPE_BASE | BIT(RF_CTRLSHIFT + rtype);
> -	ret = rdtgroup_add_files(kn, files);
> +	if (rtype == RDTCTRL_GROUP)
> +		fflags = RFTYPE_BASE | RFTYPE_CTRL;
> +	else
> +		fflags = RFTYPE_BASE | RFTYPE_MON;
> +
> +	ret = rdtgroup_add_files(kn, fflags);
>  	if (ret) {
>  		rdt_last_cmd_puts("kernfs fill error\n");
>  		goto out_destroy;
> 
> 

Reinette
  
Moger, Babu March 16, 2023, 8:31 p.m. UTC | #2
Hi Reinette,

On 3/15/23 13:33, Reinette Chatre wrote:
> Hi Babu,
> 
> On 3/2/2023 12:24 PM, Babu Moger wrote:
>> Remove few unnecessary rftype flags and simplify the code. This is done
> 
> Please drop "few" (here and in subject).

Sure.

> 
>> to further cleanup the code eventually.
> 
> Could you please be specific? "further cleanup the code
> eventually" is too vague. I do not understand what is meant
> with the second sentence.

I can just say "Remove unnecessary rftype flags and improve code readability."

> 
>>
>> Signed-off-by: Babu Moger <babu.moger@amd.com>
>> ---
>>  arch/x86/kernel/cpu/resctrl/internal.h |    9 +++------
>>  arch/x86/kernel/cpu/resctrl/rdtgroup.c |   10 +++++++---
>>  2 files changed, 10 insertions(+), 9 deletions(-)
>>
>> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
>> index 8edecc5763d8..571145d75d29 100644
>> --- a/arch/x86/kernel/cpu/resctrl/internal.h
>> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
>> @@ -243,12 +243,9 @@ struct rdtgroup {
>>   */
>>  #define RFTYPE_INFO			BIT(0)
>>  #define RFTYPE_BASE			BIT(1)
>> -#define RF_CTRLSHIFT			4
>> -#define RF_MONSHIFT			5
>> -#define RF_TOPSHIFT			6
>> -#define RFTYPE_CTRL			BIT(RF_CTRLSHIFT)
>> -#define RFTYPE_MON			BIT(RF_MONSHIFT)
>> -#define RFTYPE_TOP			BIT(RF_TOPSHIFT)
>> +#define RFTYPE_CTRL			BIT(4)
>> +#define RFTYPE_MON			BIT(5)
>> +#define RFTYPE_TOP			BIT(6)
>>  #define RFTYPE_RES_CACHE		BIT(8)
>>  #define RFTYPE_RES_MB			BIT(9)
>>  #define RF_CTRL_INFO			(RFTYPE_INFO | RFTYPE_CTRL)
>> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> index 15ea5b550fe9..3c86506e54c1 100644
>> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> @@ -3163,7 +3163,7 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
>>  {
>>  	struct rdtgroup *prdtgrp, *rdtgrp;
>>  	struct kernfs_node *kn;
>> -	uint files = 0;
>> +	uint fflags = 0;
> 
> Hoe does changing the variable name from "files" to "fflags" simplify
> the code?

I should have said readability of the code. Its actually fflags we are
passing to rdtgroup_add_files. While changing flags below, I changed the
variable name to fflags.


> 
>>  	int ret;
>>  
>>  	prdtgrp = rdtgroup_kn_lock_live(parent_kn);
>> @@ -3215,8 +3215,12 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
>>  		goto out_destroy;
>>  	}
>>  
>> -	files = RFTYPE_BASE | BIT(RF_CTRLSHIFT + rtype);
>> -	ret = rdtgroup_add_files(kn, files);
>> +	if (rtype == RDTCTRL_GROUP)
>> +		fflags = RFTYPE_BASE | RFTYPE_CTRL;
>> +	else
>> +		fflags = RFTYPE_BASE | RFTYPE_MON;
>> +
>> +	ret = rdtgroup_add_files(kn, fflags);
>>  	if (ret) {
>>  		rdt_last_cmd_puts("kernfs fill error\n");
>>  		goto out_destroy;
>>
>>
> 
> Reinette
  
Reinette Chatre March 16, 2023, 8:41 p.m. UTC | #3
Hi Babu,

On 3/16/2023 1:31 PM, Moger, Babu wrote:
> On 3/15/23 13:33, Reinette Chatre wrote:
>> On 3/2/2023 12:24 PM, Babu Moger wrote:
>>> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>> index 15ea5b550fe9..3c86506e54c1 100644
>>> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>> @@ -3163,7 +3163,7 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
>>>  {
>>>  	struct rdtgroup *prdtgrp, *rdtgrp;
>>>  	struct kernfs_node *kn;
>>> -	uint files = 0;
>>> +	uint fflags = 0;
>>
>> Hoe does changing the variable name from "files" to "fflags" simplify
>> the code?
> 
> I should have said readability of the code. Its actually fflags we are
> passing to rdtgroup_add_files. While changing flags below, I changed the
> variable name to fflags.

You are correct in that it is the actual fflags parameter but what it
reflects is which files will be created. I do not find that using "files"
makes the code unreadable. 

Reinette
  
Moger, Babu March 16, 2023, 9:11 p.m. UTC | #4
Hi Reinette,

On 3/16/23 15:41, Reinette Chatre wrote:
> Hi Babu,
> 
> On 3/16/2023 1:31 PM, Moger, Babu wrote:
>> On 3/15/23 13:33, Reinette Chatre wrote:
>>> On 3/2/2023 12:24 PM, Babu Moger wrote:
>>>> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>>> index 15ea5b550fe9..3c86506e54c1 100644
>>>> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>>> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>>> @@ -3163,7 +3163,7 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
>>>>  {
>>>>  	struct rdtgroup *prdtgrp, *rdtgrp;
>>>>  	struct kernfs_node *kn;
>>>> -	uint files = 0;
>>>> +	uint fflags = 0;
>>>
>>> Hoe does changing the variable name from "files" to "fflags" simplify
>>> the code?
>>
>> I should have said readability of the code. Its actually fflags we are
>> passing to rdtgroup_add_files. While changing flags below, I changed the
>> variable name to fflags.
> 
> You are correct in that it is the actual fflags parameter but what it
> reflects is which files will be created. I do not find that using "files"
> makes the code unreadable. 

Everything helps. I changed it because I was already changing few things
in this function. That is not the only change in this function. Here is
the main change in this function.

-	files = RFTYPE_BASE | BIT(RF_CTRLSHIFT + rtype);
-	ret = rdtgroup_add_files(kn, files);
+	if (rtype == RDTCTRL_GROUP)
+		fflags = RFTYPE_BASE | RFTYPE_CTRL;
+	else
+		fflags = RFTYPE_BASE | RFTYPE_MON;
+
+	ret = rdtgroup_add_files(kn, fflags);

In my opinion this is more clearer. Also I can delete some of these
un-necessary definitions below.

 #define RFTYPE_INFO			BIT(0)
 #define RFTYPE_BASE			BIT(1)
-#define RF_CTRLSHIFT			4
-#define RF_MONSHIFT			5
-#define RF_TOPSHIFT			6
-#define RFTYPE_CTRL			BIT(RF_CTRLSHIFT)
-#define RFTYPE_MON			BIT(RF_MONSHIFT)
-#define RFTYPE_TOP			BIT(RF_TOPSHIFT)
+#define RFTYPE_CTRL			BIT(4)
+#define RFTYPE_MON			BIT(5)
+#define RFTYPE_TOP			BIT(6)

Thanks
Babu
  
Reinette Chatre March 16, 2023, 9:17 p.m. UTC | #5
Hi Babu,

On 3/16/2023 2:11 PM, Moger, Babu wrote:
> Hi Reinette,
> 
> On 3/16/23 15:41, Reinette Chatre wrote:
>> Hi Babu,
>>
>> On 3/16/2023 1:31 PM, Moger, Babu wrote:
>>> On 3/15/23 13:33, Reinette Chatre wrote:
>>>> On 3/2/2023 12:24 PM, Babu Moger wrote:
>>>>> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>>>> index 15ea5b550fe9..3c86506e54c1 100644
>>>>> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>>>> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>>>> @@ -3163,7 +3163,7 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
>>>>>  {
>>>>>  	struct rdtgroup *prdtgrp, *rdtgrp;
>>>>>  	struct kernfs_node *kn;
>>>>> -	uint files = 0;
>>>>> +	uint fflags = 0;
>>>>
>>>> Hoe does changing the variable name from "files" to "fflags" simplify
>>>> the code?
>>>
>>> I should have said readability of the code. Its actually fflags we are
>>> passing to rdtgroup_add_files. While changing flags below, I changed the
>>> variable name to fflags.
>>
>> You are correct in that it is the actual fflags parameter but what it
>> reflects is which files will be created. I do not find that using "files"
>> makes the code unreadable. 
> 
> Everything helps. I changed it because I was already changing few things
> in this function. That is not the only change in this function. Here is
> the main change in this function.

I did read the patch Babu. I trimmed my response to focus on what
I was responding to. Our opinions differ on readability of the current
variable name. This patch can focus on just removing the unnecessary rftype
flags.

Reinette
  
Moger, Babu March 20, 2023, 1:35 p.m. UTC | #6
On 3/16/23 16:17, Reinette Chatre wrote:
> Hi Babu,
> 
> On 3/16/2023 2:11 PM, Moger, Babu wrote:
>> Hi Reinette,
>>
>> On 3/16/23 15:41, Reinette Chatre wrote:
>>> Hi Babu,
>>>
>>> On 3/16/2023 1:31 PM, Moger, Babu wrote:
>>>> On 3/15/23 13:33, Reinette Chatre wrote:
>>>>> On 3/2/2023 12:24 PM, Babu Moger wrote:
>>>>>> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>>>>> index 15ea5b550fe9..3c86506e54c1 100644
>>>>>> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>>>>> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>>>>>> @@ -3163,7 +3163,7 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
>>>>>>  {
>>>>>>  	struct rdtgroup *prdtgrp, *rdtgrp;
>>>>>>  	struct kernfs_node *kn;
>>>>>> -	uint files = 0;
>>>>>> +	uint fflags = 0;
>>>>>
>>>>> Hoe does changing the variable name from "files" to "fflags" simplify
>>>>> the code?
>>>>
>>>> I should have said readability of the code. Its actually fflags we are
>>>> passing to rdtgroup_add_files. While changing flags below, I changed the
>>>> variable name to fflags.
>>>
>>> You are correct in that it is the actual fflags parameter but what it
>>> reflects is which files will be created. I do not find that using "files"
>>> makes the code unreadable. 
>>
>> Everything helps. I changed it because I was already changing few things
>> in this function. That is not the only change in this function. Here is
>> the main change in this function.
> 
> I did read the patch Babu. I trimmed my response to focus on what
> I was responding to. Our opinions differ on readability of the current
> variable name. This patch can focus on just removing the unnecessary rftype
> flags.

Ok. Fine with me.
  

Patch

diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
index 8edecc5763d8..571145d75d29 100644
--- a/arch/x86/kernel/cpu/resctrl/internal.h
+++ b/arch/x86/kernel/cpu/resctrl/internal.h
@@ -243,12 +243,9 @@  struct rdtgroup {
  */
 #define RFTYPE_INFO			BIT(0)
 #define RFTYPE_BASE			BIT(1)
-#define RF_CTRLSHIFT			4
-#define RF_MONSHIFT			5
-#define RF_TOPSHIFT			6
-#define RFTYPE_CTRL			BIT(RF_CTRLSHIFT)
-#define RFTYPE_MON			BIT(RF_MONSHIFT)
-#define RFTYPE_TOP			BIT(RF_TOPSHIFT)
+#define RFTYPE_CTRL			BIT(4)
+#define RFTYPE_MON			BIT(5)
+#define RFTYPE_TOP			BIT(6)
 #define RFTYPE_RES_CACHE		BIT(8)
 #define RFTYPE_RES_MB			BIT(9)
 #define RF_CTRL_INFO			(RFTYPE_INFO | RFTYPE_CTRL)
diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
index 15ea5b550fe9..3c86506e54c1 100644
--- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
+++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
@@ -3163,7 +3163,7 @@  static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
 {
 	struct rdtgroup *prdtgrp, *rdtgrp;
 	struct kernfs_node *kn;
-	uint files = 0;
+	uint fflags = 0;
 	int ret;
 
 	prdtgrp = rdtgroup_kn_lock_live(parent_kn);
@@ -3215,8 +3215,12 @@  static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
 		goto out_destroy;
 	}
 
-	files = RFTYPE_BASE | BIT(RF_CTRLSHIFT + rtype);
-	ret = rdtgroup_add_files(kn, files);
+	if (rtype == RDTCTRL_GROUP)
+		fflags = RFTYPE_BASE | RFTYPE_CTRL;
+	else
+		fflags = RFTYPE_BASE | RFTYPE_MON;
+
+	ret = rdtgroup_add_files(kn, fflags);
 	if (ret) {
 		rdt_last_cmd_puts("kernfs fill error\n");
 		goto out_destroy;