Re: [PATCH 2/6] Use one zonelist that is filtered instead of multiple zonelists

From: Mel Gorman
Date: Tue Aug 21 2007 - 04:52:17 EST


On (17/08/07 13:59), Christoph Lameter didst pronounce:
> On Fri, 17 Aug 2007, Mel Gorman wrote:
>
> > +/* Returns the first zone at or below highest_zoneidx in a zonelist */
> > +static inline struct zone **first_zones_zonelist(struct zonelist *zonelist,
> > + enum zone_type highest_zoneidx)
> > +{
> > + struct zone **z;
> > + for (z = zonelist->zones; zone_idx(*z) > highest_zoneidx; z++);
> > + return z;
> > +}
>
> The formatting above is a bit confusing. Add requires empty lines and put
> the ; on a separate line.
>
>
> > +/* Returns the next zone at or below highest_zoneidx in a zonelist */
> > +static inline struct zone **next_zones_zonelist(struct zone **z,
> > + enum zone_type highest_zoneidx)
> > +{
> > + for (++z; zone_idx(*z) > highest_zoneidx; z++);
>
> Looks weird too.
>
> ++z on an earlier line and then
>
> for ( ; zone_idx(*z) ...)
>
> ?
>

Ok, the relevant section now looks like

+/* Returns the first zone at or below highest_zoneidx in a zonelist */
+static inline struct zone **first_zones_zonelist(struct zonelist *zonelist,
+ enum zone_type highest_zoneidx)
+{
+ struct zone **z;
+
+ for (z = zonelist->zones;
+ zone_idx(*z) > highest_zoneidx;
+ z++)
+ ;
+
+ return z;
+}
+
+/* Returns the next zone at or below highest_zoneidx in a zonelist */
+static inline struct zone **next_zones_zonelist(struct zone **z,
+ enum zone_type highest_zoneidx)
+{
+ /* Advance to the next zone in the zonelist */
+ z++;
+
+ /* Find the next suitable zone to use for the allocation */
+ for (; zone_idx(*z) > highest_zoneidx; z++)
+ ;
+
+ return z;
+}

Is that better?

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/