diff mbox

cpupower: Combine two condition checks into one statement in get_cpu_topology()

Message ID 3daea226-c5cb-62e7-a025-8f758712a81a@users.sourceforge.net (mailing list archive)
State Rejected
Delegated to: Shuah Khan
Headers show

Commit Message

SF Markus Elfring Nov. 20, 2017, 6:19 p.m. UTC
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Mon, 20 Nov 2017 19:10:14 +0100

The same assignments were used in an if branch of two separate statements.

* Merge their condition checks into a single statement instead.

* Adjust the indentation there.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 tools/power/cpupower/lib/cpupower.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

Comments

Shuah Nov. 21, 2017, 7:47 p.m. UTC | #1
On 11/20/2017 11:19 AM, SF Markus Elfring wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Mon, 20 Nov 2017 19:10:14 +0100
> 
> The same assignments were used in an if branch of two separate statements.
> 
> * Merge their condition checks into a single statement instead.
> 
> * Adjust the indentation there.
> 
> This issue was detected by using the Coccinelle software.
> 
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> ---
>  tools/power/cpupower/lib/cpupower.c | 18 ++++++------------
>  1 file changed, 6 insertions(+), 12 deletions(-)
> 
> diff --git a/tools/power/cpupower/lib/cpupower.c b/tools/power/cpupower/lib/cpupower.c
> index 9c395ec924de..81c828e5920e 100644
> --- a/tools/power/cpupower/lib/cpupower.c
> +++ b/tools/power/cpupower/lib/cpupower.c
> @@ -140,18 +140,12 @@ int get_cpu_topology(struct cpupower_topology *cpu_top)
>  	for (cpu = 0; cpu < cpus; cpu++) {
>  		cpu_top->core_info[cpu].cpu = cpu;
>  		cpu_top->core_info[cpu].is_online = cpupower_is_cpu_online(cpu);
> -		if(sysfs_topology_read_file(
> -			cpu,
> -			"physical_package_id",
> -			&(cpu_top->core_info[cpu].pkg)) < 0) {
> -			cpu_top->core_info[cpu].pkg = -1;
> -			cpu_top->core_info[cpu].core = -1;
> -			continue;
> -		}
> -		if(sysfs_topology_read_file(
> -			cpu,
> -			"core_id",
> -			&(cpu_top->core_info[cpu].core)) < 0) {
> +		if (sysfs_topology_read_file(cpu, "physical_package_id",
> +					     &(cpu_top->core_info[cpu].pkg))
> +		    < 0 ||
> +		    sysfs_topology_read_file(cpu, "core_id",
> +					     &(cpu_top->core_info[cpu].core))
> +		    < 0) {

This change takes the easily readable code into hard to read code,
even though it removes the duplicate code in the conditional.

Please find a better way to make it not so hard to read.

thanks,
-- Shuah
SF Markus Elfring Nov. 21, 2017, 8:37 p.m. UTC | #2
>> @@ -140,18 +140,12 @@ int get_cpu_topology(struct cpupower_topology *cpu_top)
>>  	for (cpu = 0; cpu < cpus; cpu++) {
>>  		cpu_top->core_info[cpu].cpu = cpu;
>>  		cpu_top->core_info[cpu].is_online = cpupower_is_cpu_online(cpu);
>> -		if(sysfs_topology_read_file(
>> -			cpu,
>> -			"physical_package_id",
>> -			&(cpu_top->core_info[cpu].pkg)) < 0) {
>> -			cpu_top->core_info[cpu].pkg = -1;
>> -			cpu_top->core_info[cpu].core = -1;
>> -			continue;
>> -		}
>> -		if(sysfs_topology_read_file(
>> -			cpu,
>> -			"core_id",
>> -			&(cpu_top->core_info[cpu].core)) < 0) {
>> +		if (sysfs_topology_read_file(cpu, "physical_package_id",
>> +					     &(cpu_top->core_info[cpu].pkg))
>> +		    < 0 ||
>> +		    sysfs_topology_read_file(cpu, "core_id",
>> +					     &(cpu_top->core_info[cpu].core))
>> +		    < 0) {
> 
> This change takes the easily readable code into hard to read code,

I got other views around code readability for the shown software
design direction.


> even though it removes the duplicate code in the conditional.

Would you like to reduce a bit of duplicate code here?


> Please find a better way to make it not so hard to read.

Which source code layout would you find more appropriate then
in this use case?

Regards,
Markus
diff mbox

Patch

diff --git a/tools/power/cpupower/lib/cpupower.c b/tools/power/cpupower/lib/cpupower.c
index 9c395ec924de..81c828e5920e 100644
--- a/tools/power/cpupower/lib/cpupower.c
+++ b/tools/power/cpupower/lib/cpupower.c
@@ -140,18 +140,12 @@  int get_cpu_topology(struct cpupower_topology *cpu_top)
 	for (cpu = 0; cpu < cpus; cpu++) {
 		cpu_top->core_info[cpu].cpu = cpu;
 		cpu_top->core_info[cpu].is_online = cpupower_is_cpu_online(cpu);
-		if(sysfs_topology_read_file(
-			cpu,
-			"physical_package_id",
-			&(cpu_top->core_info[cpu].pkg)) < 0) {
-			cpu_top->core_info[cpu].pkg = -1;
-			cpu_top->core_info[cpu].core = -1;
-			continue;
-		}
-		if(sysfs_topology_read_file(
-			cpu,
-			"core_id",
-			&(cpu_top->core_info[cpu].core)) < 0) {
+		if (sysfs_topology_read_file(cpu, "physical_package_id",
+					     &(cpu_top->core_info[cpu].pkg))
+		    < 0 ||
+		    sysfs_topology_read_file(cpu, "core_id",
+					     &(cpu_top->core_info[cpu].core))
+		    < 0) {
 			cpu_top->core_info[cpu].pkg = -1;
 			cpu_top->core_info[cpu].core = -1;
 			continue;