• Johannes Weiner's avatar
    mm: vmscan: do not swap anon pages just because free+file is low · 0bf1457f
    Johannes Weiner authored
    Page reclaim force-scans / swaps anonymous pages when file cache drops
    below the high watermark of a zone in order to prevent what little cache
    remains from thrashing.
    However, on bigger machines the high watermark value can be quite large
    and when the workload is dominated by a static anonymous/shmem set, the
    file set might just be a small window of used-once cache.  In such
    situations, the VM starts swapping heavily when instead it should be
    recycling the no longer used cache.
    This is a longer-standing problem, but it's more likely to trigger after
    commit 81c0a2bb ("mm: page_alloc: fair zone allocator policy")
    because file pages can no longer accumulate in a single zone and are
    dispersed into smaller fractions among the available zones.
    To resolve this, do not force scan anon when file pages are low but
    instead rely on the scan/rotation ratios to make the right prediction.
    Signed-off-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
    Acked-by: default avatarRafael Aquini <aquini@redhat.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Mel Gorman <mgorman@suse.de>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Suleiman Souhlal <suleiman@google.com>
    Cc: <stable@kernel.org>		[3.12+]
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
vmscan.c 107 KB