• Yu Zhao's avatar
    mm: multi-gen LRU: clarify scan_control flags · e9d4e1ee
    Yu Zhao authored
    Among the flags in scan_control:
    1. sc->may_swap, which indicates swap constraint due to memsw.max, is
       supported as usual.
    2. sc->proactive, which indicates reclaim by memory.reclaim, may not
       opportunistically skip the aging path, since it is considered less
       latency sensitive.
    3. !(sc->gfp_mask & __GFP_IO), which indicates IO constraint, lowers
       swappiness to prioritize file LRU, since clean file folios are more
       likely to exist.
    4. sc->may_writepage and sc->may_unmap, which indicates opportunistic
       reclaim, are rejected, since unmapped clean folios are already
       prioritized. Scanning for more of them is likely futile and can
       cause high reclaim latency when there is a large number of memcgs.
    
    The rest are handled by the existing code.
    
    Link: https://lkml.kernel.org/r/20221222041905.2431096-8-yuzhao@google.comSigned-off-by: default avatarYu Zhao <yuzhao@google.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Michael Larabel <Michael@MichaelLarabel.com>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Mike Rapoport <rppt@kernel.org>
    Cc: Roman Gushchin <roman.gushchin@linux.dev>
    Cc: Suren Baghdasaryan <surenb@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    e9d4e1ee
vmscan.c 220 KB