mm: memcontrol: per-lruvec stats infrastructure
authorJohannes Weiner <[email protected]>
Thu, 6 Jul 2017 22:40:52 +0000 (15:40 -0700)
committerLinus Torvalds <[email protected]>
Thu, 6 Jul 2017 23:24:35 +0000 (16:24 -0700)
commit00f3ca2c2d6635d85108571c4dd9a29088668662
treed85532fc7416bcb2dc7c442f8ebf5536fb684ad5
parented52be7bfd45533b194b429f43361493d24599a7
mm: memcontrol: per-lruvec stats infrastructure

lruvecs are at the intersection of the NUMA node and memcg, which is the
scope for most paging activity.

Introduce a convenient accounting infrastructure that maintains
statistics per node, per memcg, and the lruvec itself.

Then convert over accounting sites for statistics that are already
tracked in both nodes and memcgs and can be easily switched.

[[email protected]: fix crash in the new cgroup stat keeping code]
Link: http://lkml.kernel.org/r/[email protected]
[[email protected]: don't track uncharged pages at all
Link: http://lkml.kernel.org/r/[email protected]
[[email protected]: add missing free_percpu()]
Link: http://lkml.kernel.org/r/[email protected]
[[email protected]: hexagon: fix build error caused by include file order]
Link: http://lkml.kernel.org/r/[email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Johannes Weiner <[email protected]>
Signed-off-by: Guenter Roeck <[email protected]>
Acked-by: Vladimir Davydov <[email protected]>
Cc: Josef Bacik <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Rik van Riel <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
arch/hexagon/include/asm/pgtable.h
arch/hexagon/kernel/asm-offsets.c
arch/hexagon/mm/vm_tlb.c
include/linux/memcontrol.h
include/linux/vmstat.h
mm/memcontrol.c
mm/page-writeback.c
mm/rmap.c
mm/workingset.c