[PATCH 0/6] mm: memcontrol: clean up the LRU counts tracking

From: Johannes Weiner
Date: Fri Feb 15 2019 - 13:14:35 EST


The memcg LRU stats usage is currently a bit messy. Memcg has private
per-zone counters because reclaim needs zone granularity sometimes,
but we also have plenty of users that need to awkwardly sum them up to
node or memcg granularity. Meanwhile the canonical per-memcg vmstats
do not track the LRU counts (NR_INACTIVE_ANON etc.) as you'd expect.

This series enables LRU count tracking in the per-memcg vmstats array
such that lruvec_page_state() and memcg_page_state() work on the enum
node_stat_item items for the LRU counters. Then it converts all the
callers that don't specifically need per-zone numbers over to that.

include/linux/memcontrol.h | 28 ---------------
include/linux/mm_inline.h | 2 +-
include/linux/mmzone.h | 5 ---
mm/memcontrol.c | 85 +++++++++++++++++++++++++-------------------
mm/vmscan.c | 2 +-
mm/workingset.c | 5 +--
6 files changed, 54 insertions(+), 73 deletions(-)