summaryrefslogtreecommitdiffstats
path: root/mm/memcontrol.c
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2019-05-13 20:18:03 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-05-14 12:47:46 -0400
commit22796c844fcb85f3b289c0e698713b7fa4d9c178 (patch)
tree805f127cd1c7117fc73abc77a274e307a3f5d4c4 /mm/memcontrol.c
parent1a61ab8038e724a6d8aa59e7d4931a119483294d (diff)
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,
746 unsigned int lru_mask) 746 unsigned int lru_mask)
747{ 747{
748 unsigned long nr = 0; 748 unsigned long nr = 0;
749 int nid; 749 enum lru_list lru;
750 750
751 for_each_node_state(nid, N_MEMORY) 751 for_each_lru(lru) {
752 nr += mem_cgroup_node_nr_lru_pages(memcg, nid, lru_mask); 752 if (!(BIT(lru) & lru_mask))
753 continue;
754 nr += memcg_page_state(memcg, NR_LRU_BASE + lru);
755 }
753 return nr; 756 return nr;
754} 757}
755 758