From 50c31015a35dbdc4c0c657e87c1599039a3ef75b Mon Sep 17 00:00:00 2001 From: Johannes Weiner Date: Sat, 10 Oct 2020 15:40:17 +0800 Subject: [PATCH] mm: memcontrol: replace node summing with memcg_page_state() mainline inclusion from mainline-5.2-rc1 commit 22796c844fcb85f3b289c0e698713b7fa4d9c178 category: bugfix bugzilla: 34611 CVE: NA ------------------------------------------------- Instead of adding up the node counters, use memcg_page_state() to get the memcg state directly. This is a bit cheaper and more stream-lined. Link: http://lkml.kernel.org/r/20190228163020.24100-4-hannes@cmpxchg.org Signed-off-by: Johannes Weiner Reviewed-by: Roman Gushchin Cc: Michal Hocko Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds (cherry picked from commit 22796c844fcb85f3b289c0e698713b7fa4d9c178) Signed-off-by: Kefeng Wang Signed-off-by: Liu Shixin Reviewed-by: Kefeng Wang Signed-off-by: Yang Yingliang --- mm/memcontrol.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index df93a5a17699..a22f23a21adc 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -751,10 +751,13 @@ static unsigned long mem_cgroup_nr_lru_pages(struct mem_cgroup *memcg, unsigned int lru_mask) { unsigned long nr = 0; - int nid; + enum lru_list lru; - for_each_node_state(nid, N_MEMORY) - nr += mem_cgroup_node_nr_lru_pages(memcg, nid, lru_mask); + for_each_lru(lru) { + if (!(BIT(lru) & lru_mask)) + continue; + nr += memcg_page_state(memcg, NR_LRU_BASE + lru); + } return nr; } -- GitLab