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

From: SF Markus Elfring
Date: Tue Nov 21 2017 - 15:37:48 EST


>> @@ -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