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 <mgor...@techsingularity.net> > > Acked-by: Johannes Weiner <han...@cmpxchg.org> > > Acked-by: Vlastimil Babka <vba...@suse.cz> > > 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