• KAMEZAWA Hiroyuki's avatar
    memcg: fix reclaimable lru check in memcg · 4d0c066d
    KAMEZAWA Hiroyuki authored
    Now, in mem_cgroup_hierarchical_reclaim(), mem_cgroup_local_usage() is
    used for checking whether the memcg contains reclaimable pages or not.  If
    no pages in it, the routine skips it.
    
    But, mem_cgroup_local_usage() contains Unevictable pages and cannot handle
    "noswap" condition correctly.  This doesn't work on a swapless system.
    
    This patch adds test_mem_cgroup_reclaimable() and replaces
    mem_cgroup_local_usage().  test_mem_cgroup_reclaimable() see LRU counter
    and returns correct answer to the caller.  And this new function has
    "noswap" argument and can see only FILE LRU if necessary.
    
    [akpm@linux-foundation.org: coding-style fixes]
    [akpm@linux-foundation.org: fix kerneldoc layout]
    Signed-off-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Michal Hocko <mhocko@suse.cz>
    Cc: Ying Han <yinghan@google.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    4d0c066d
memcontrol.c 143 KB