Re: [PATCH] cpupower: Combine two condition checks into one statement in get_cpu_topology()

From: Shuah Khan
Date: Tue Nov 21 2017 - 14:47:29 EST


On 11/20/2017 11:19 AM, SF Markus Elfring wrote:
> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> 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@xxxxxxxxxxxxxxxxxxxxx>
> ---
> 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