On Thu, Feb 28, 2019 at 11:30:14AM -0500, Johannes Weiner wrote: > [ Resend #2: Sorry about the spam, I mixed up the header fields in > git-send-email and I don't know who did and didn't receive the > garbled previous attempt. > > Resend #1: Rebased on top of the latest mmots. ] > > 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(-) > > The patchset looks very good to me! Reviewed-by: Roman Gushchin <guro@xxxxxx> Thanks!