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.

Signed-off-by: Johannes Weiner <[email protected]>
---
 mm/memcontrol.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index a04177f25758..4d573f4e1759 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -739,10 +739,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;
 }
 
-- 
2.20.1

Reply via email to