Re: [PATCH] for_each_zone / for_each_pgdat

William Lee Irwin III
2002-04-15T23:24:59Z

On Mon, 15 Apr 2002, Linus Torvalds wrote:
>> Which requires the user to use something like
>>
>> for_each_zone(zone) {
>> ...
>> } end_zone;

Ow... this is exactly what I was trying to avoid.

On Mon, Apr 15, 2002 at 02:17:22PM -0700, Linus Torvalds wrote:
> Side note: I should probably have made this the standard notation for the
> "for_each_xxx ()" macros, because having an "end_xxx" macro means that you
> can start using things like "do { ... } while (x)" loops for the control
> flow, which is often easier for the compiler to optimize (ie if the first
> element is always valid, and you don't need a condition going in, which is
> often true).
> It does, of course, end up polluting the name-space a bit more.
> Linus

This is typically either the outer loop or used in things that just aren't
time critical (at least not in comparison to deeper loop nesting levels).
This isn't my magnum opus by a longshot (or at least I hope it isn't) so
I won't scream too loud, but I think it's pretty much done right as is.

Cheers,
Bill