[PATCH] powerpc/mm: simplify loop control in parse_numa_properties()

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE3491d

4 messages, 3 authors, 2017-02-01 · open the first message on its own page

[PATCH] powerpc/mm: simplify loop control in parse_numa_properties()

From: Reza Arbab <hidden>
Date: 2016-10-13 18:45:50

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.

Signed-off-by: Reza Arbab <redacted>
---
 arch/powerpc/mm/numa.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index d7ac419..b30ced8 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -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;
-- 
1.8.3.1

Re: [PATCH] powerpc/mm: simplify loop control in parse_numa_properties()

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2016-10-14 00:33:12

Reza Arbab [off-list ref] writes:
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.
I think you're right, but it's not obvious from the diff. Please explain
in more detail why the old and new code is equivalent.

cheers

Re: [PATCH] powerpc/mm: simplify loop control in parse_numa_properties()

From: Reza Arbab <hidden>
Date: 2016-10-14 15:43:23

On Fri, Oct 14, 2016 at 11:33:12AM +1100, Michael Ellerman wrote:
Reza Arbab [off-list ref] writes:
quoted
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.
I think you're right, but it's not obvious from the diff. Please explain
in more detail why the old and new code is equivalent.
I'm not sure if being this verbose helps, but...

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;
	}

-- 
Reza Arbab

Re: powerpc/mm: simplify loop control in parse_numa_properties()

From: Michael Ellerman <hidden>
Date: 2017-02-01 01:05:34

On Thu, 2016-10-13 at 18:45:30 UTC, Reza Arbab wrote:
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.

Signed-off-by: Reza Arbab <redacted>
Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/7656cd8e8e23ac4b059f4d96939cb7

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help