summaryrefslogtreecommitdiffstats
path: root/mm/memcontrol.c
diff options
context:
space:
mode:
authorJohannes Weiner2019-05-14 02:18:03 +0200
committerLinus Torvalds2019-05-14 18:47:46 +0200
commit22796c844fcb85f3b289c0e698713b7fa4d9c178 (patch)
tree805f127cd1c7117fc73abc77a274e307a3f5d4c4 /mm/memcontrol.c
parentmm: memcontrol: replace zone summing with lruvec_page_state() (diff)
downloadkernel-qcow2-linux-22796c844fcb85f3b289c0e698713b7fa4d9c178.tar.gz
kernel-qcow2-linux-22796c844fcb85f3b289c0e698713b7fa4d9c178.tar.xz
kernel-qcow2-linux-22796c844fcb85f3b289c0e698713b7fa4d9c178.zip
mm: memcontrol: replace node summing with memcg_page_state()
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 <hannes@cmpxchg.org> Reviewed-by: Roman Gushchin <guro@fb.com> Cc: Michal Hocko <mhocko@kernel.org> Cc: Tejun Heo <tj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r--mm/memcontrol.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index f30381481c45..4000ea4ea0ec 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -746,10 +746,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;
}