Re: [PATCH 06/27] mm, vmscan: Begin reclaiming pages on a per-node basis

From: Johannes Weiner
Date: Tue Feb 23 2016 - 14:03:58 EST


On Tue, Feb 23, 2016 at 10:57:22AM -0800, Johannes Weiner wrote:
> > @@ -2558,16 +2579,12 @@ static void shrink_zones(struct zonelist *zonelist, struct scan_control *sc)
> > sc->gfp_mask |= __GFP_HIGHMEM;
> >
> > for_each_zone_zonelist_nodemask(zone, z, zonelist,
> > - requested_highidx, sc->nodemask) {
>
> It's unfortunate that we start with the lowest zone here. For Normal
> allocations, the most common allocations, this will always have two
> full shrink_node() rounds that skip over everything >DMA in the first,
> then over everything >DMA32 in the second, even though all pages on
> the node are valid reclaim candidates for that allocation.

Nevermind, I'm confused about zonelist ordering. It starts with the
highest indexed zones.