• K
    bugfix for memory cgroup controller: avoid !PageLRU page in mem_cgroup_isolate_pages · ff7283fa
    KAMEZAWA Hiroyuki 提交于
    This patch makes mem_cgroup_isolate_pages() to be
    
      - ignore !PageLRU pages.
      - fixes the bug that isolation makes no progress if page_zone(page) != zone
        page once find. (just increment scan in this case.)
    
    kswapd and memory migration removes a page from list when it handles
    a page for reclaiming/migration.
    
    Because __isolate_lru_page() doesn't moves page !PageLRU pages, it will
    be safe to avoid touching !PageLRU() page and its page_cgroup.
    Signed-off-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
    Cc: Pavel Emelianov <xemul@openvz.org>
    Cc: Paul Menage <menage@google.com>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: "Eric W. Biederman" <ebiederm@xmission.com>
    Cc: Nick Piggin <nickpiggin@yahoo.com.au>
    Cc: Kirill Korotaev <dev@sw.ru>
    Cc: Herbert Poetzl <herbert@13thfloor.at>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    ff7283fa
memcontrol.c 17.3 KB