diff mbox

powerpc/mm: simplify loop control in parse_numa_properties()

Message ID 1476384330-22654-1-git-send-email-arbab@linux.vnet.ibm.com (mailing list archive)
State Accepted
Headers show

Commit Message

Reza Arbab Oct. 13, 2016, 6:45 p.m. UTC
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 <arbab@linux.vnet.ibm.com>
---
 arch/powerpc/mm/numa.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

Comments

Michael Ellerman Oct. 14, 2016, 12:33 a.m. UTC | #1
Reza Arbab <arbab@linux.vnet.ibm.com> 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
Reza Arbab Oct. 14, 2016, 3:43 p.m. UTC | #2
On Fri, Oct 14, 2016 at 11:33:12AM +1100, Michael Ellerman wrote:
>Reza Arbab <arbab@linux.vnet.ibm.com> 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.

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;
	}
Michael Ellerman Feb. 1, 2017, 1:05 a.m. UTC | #3
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 <arbab@linux.vnet.ibm.com>

Applied to powerpc next, thanks.

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

cheers
diff mbox

Patch

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;