mm: collect LRU list heads into struct lruvec
Having a unified structure with a LRU list set for both global zones and per-memcg zones allows to keep that code simple which deals with LRU lists and does not care about the container itself. Once the per-memcg LRU lists directly link struct pages, the isolation function and all other list manipulations are shared between the memcg case and the global LRU case. Signed-off-by:Johannes Weiner <jweiner@redhat.com> Reviewed-by:
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Reviewed-by:
Michal Hocko <mhocko@suse.cz> Reviewed-by:
Kirill A. Shutemov <kirill@shutemov.name> Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Cc: Balbir Singh <bsingharora@gmail.com> Cc: Ying Han <yinghan@google.com> Cc: Greg Thelen <gthelen@google.com> Cc: Michel Lespinasse <walken@google.com> Cc: Rik van Riel <riel@redhat.com> Cc: Minchan Kim <minchan.kim@gmail.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Hugh Dickins <hughd@google.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
Showing
- include/linux/mm_inline.h 1 addition, 1 deletioninclude/linux/mm_inline.h
- include/linux/mmzone.h 6 additions, 4 deletionsinclude/linux/mmzone.h
- mm/memcontrol.c 7 additions, 10 deletionsmm/memcontrol.c
- mm/page_alloc.c 1 addition, 1 deletionmm/page_alloc.c
- mm/swap.c 5 additions, 6 deletionsmm/swap.c
- mm/vmscan.c 5 additions, 5 deletionsmm/vmscan.c
Loading
Please register or sign in to comment