Re: [PATCH 07/34] mm, vmscan: make kswapd reclaim in terms of nodes

From: Mel Gorman
Date: Tue Aug 30 2016 - 08:07:39 EST


On Mon, Aug 29, 2016 at 03:08:44PM +0530, Srikar Dronamraju wrote:
> > Patch "mm: vmscan: Begin reclaiming pages on a per-node basis" started
> > thinking of reclaim in terms of nodes but kswapd is still zone-centric. This
> > patch gets rid of many of the node-based versus zone-based decisions.
> >
> > o A node is considered balanced when any eligible lower zone is balanced.
> > This eliminates one class of age-inversion problem because we avoid
> > reclaiming a newer page just because it's in the wrong zone
> > o pgdat_balanced disappears because we now only care about one zone being
> > balanced.
> > o Some anomalies related to writeback and congestion tracking being based on
> > zones disappear.
> > o kswapd no longer has to take care to reclaim zones in the reverse order
> > that the page allocator uses.
> > o Most importantly of all, reclaim from node 0 with multiple zones will
> > have similar aging and reclaiming characteristics as every
> > other node.
> >
> > Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
> > Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> > Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
>
> This patch seems to hurt FA_DUMP functionality. This behaviour is not
> seen on v4.7 but only after this patch.
>
> So when a kernel on a multinode machine with memblock_reserve() such
> that most of the nodes have zero available memory, kswapd seems to be
> consuming 100% of the time.
>

Why is FA_DUMP specifically the trigger? If the nodes have zero available
memory then is the zone_populated() check failing when FA_DUMP is enabled? If
so, that would both allow kswapd to wake and stay awake.

--
Mel Gorman
SUSE Labs