powerpc/mm: Simplify loop control in parse_numa_properties()
authorReza Arbab <arbab@linux.vnet.ibm.com>
Thu, 13 Oct 2016 18:45:30 +0000 (13:45 -0500)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 30 Jan 2017 05:49:30 +0000 (16:49 +1100)
The flow of the main loop in parse_numa_properties() is overly
complicated. Simplify it to be less confusing and easier to read.
No functional change.

The end of the main loop in parse_numa_properties() looks like this:

for_each_node_by_type(...) {
...
if (!condition) {
if (--ranges)
goto new_range;
else
continue;
}

statement();

if (--ranges)
goto new_range;
/* else
 * continue; <- implicit, this is the end of the loop
 */
}

The only effect of !condition is to skip execution of statement(). This
can be rewritten in a simpler way:

for_each_node_by_type(...) {
...
if (condition)
statement();

if (--ranges)
goto new_range;
}

Signed-off-by: Reza Arbab <arbab@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/mm/numa.c

index b1099cb2f393c8adbfa7f1ac42f3db478e177efc..51fe1c5b6d713c58359857d13fc0620bb20e8f4d 100644 (file)
@@ -786,14 +786,9 @@ new_range:
                fake_numa_create_new_node(((start + size) >> PAGE_SHIFT), &nid);
                node_set_online(nid);
 
-               if (!(size = numa_enforce_memory_limit(start, size))) {
-                       if (--ranges)
-                               goto new_range;
-                       else
-                               continue;
-               }
-
-               memblock_set_node(start, size, &memblock.memory, nid);
+               size = numa_enforce_memory_limit(start, size);
+               if (size)
+                       memblock_set_node(start, size, &memblock.memory, nid);
 
                if (--ranges)
                        goto new_range;