[ 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(-)