Thread (4 messages) flat view 4 messages, 3 authors, 2017-02-01

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help