• Y
    alinux: mm: vmscan: make memcg kswapd set memcg state to dirty or writeback · c69c12cc
    Yang Shi 提交于
    The global kswapd could set memory node to dirty or writeback if current
    scan find all pages are unqueued dirty or writeback.  Then kswapd would
    write out dirty pages or wait for writeback done.  The memcg kswapd
    behaves like global kswapd, and it should set dirty or writeback state
    to memcg too if the same condition is met.
    
    Since direct reclaim can't write out page caches, the system depends on
    kswapd to write out dirty pages if scan finds too many dirty pages in
    order to avoid pre-mature OOM.  But, if page cache is dirtied too fast,
    writing out pages definitely can't catch up with dirtying pages.  It is
    the responsibility of dirty page balance to throttle dirtying pages.
    Reviewed-by: NGavin Shan <shan.gavin@linux.alibaba.com>
    Reviewed-by: NXunlei Pang <xlpang@linux.alibaba.com>
    Signed-off-by: NYang Shi <yang.shi@linux.alibaba.com>
    c69c12cc
memcontrol.h 32.4 KB