Re: [PATCH] mm: vmscan: ensure reclaiming pages on the lru lists ofzone

From: Johannes Weiner
Date: Mon Jan 23 2012 - 06:20:33 EST


On Mon, Jan 23, 2012 at 12:47:34AM +0800, Hillf Danton wrote:
> Hi all
>
> For easy review, it is re-prepared based on 3.3-rc1.
>
> Thanks
> Hillf
>
> ===cut please===
> From: Hillf Danton <dhillf@xxxxxxxxx>
> Subject: [PATCH] mm: vmscan: ensure reclaiming pages on the lru lists of zone
>
> While iterating over memory cgroup hierarchy, pages are reclaimed from each
> mem cgroup, and reclaim terminates after a full round-trip. It is possible
> that no pages on the lru lists of given zone are reclaimed, as termination
> is checked after the reclaiming function.
>
> Mem cgroup iteration is rearranged a bit to make sure that pages are reclaimed
> from both mem cgroups and zone.

It's not only possible, it's guaranteed: with the memory controller
enabled, the global per-zone lru lists are empty.

Pages used to be linked on the global per-zone AND the memcg per-zone
lru lists. Nowadays, they only sit on the memcg per-zone lists, which
is why global reclaim does a hierarchy walk.

The global per-zone lists are just an artifact for when the memory
controller is not available. The plan is to make root_mem_cgroup
available at all times, even without the memory controller.

So I'm afraid your patch only adds a round of scanning a known-to-be
empty lruvec. NAK.
--
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/