summaryrefslogtreecommitdiffstats
path: root/arch/nds32/mm
diff options
context:
space:
mode:
authorShakeel Butt <shakeelb@google.com>2020-12-14 19:07:17 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2020-12-15 12:13:40 -0800
commitf0c0c115fb81940f4dba0644ac2a8a43b39c83f3 (patch)
treed79b95a92ea1b8fe4723973b5fe73b8199807b52 /arch/nds32/mm
parentc47d5032ed3002311a4188eae51f4641ec436beb (diff)
downloadlinux-stable-f0c0c115fb81940f4dba0644ac2a8a43b39c83f3.tar.gz
linux-stable-f0c0c115fb81940f4dba0644ac2a8a43b39c83f3.tar.bz2
linux-stable-f0c0c115fb81940f4dba0644ac2a8a43b39c83f3.zip
mm: memcontrol: account pagetables per node
For many workloads, pagetable consumption is significant and it makes sense to expose it in the memory.stat for the memory cgroups. However at the moment, the pagetables are accounted per-zone. Converting them to per-node and using the right interface will correctly account for the memory cgroups as well. [akpm@linux-foundation.org: export __mod_lruvec_page_state to modules for arch/mips/kvm/] Link: https://lkml.kernel.org/r/20201130212541.2781790-3-shakeelb@google.com Signed-off-by: Shakeel Butt <shakeelb@google.com> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Roman Gushchin <guro@fb.com> Cc: Michal Hocko <mhocko@suse.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/nds32/mm')
-rw-r--r--arch/nds32/mm/mm-nds32.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/nds32/mm/mm-nds32.c b/arch/nds32/mm/mm-nds32.c
index 55bec50ccc03..f2778f2b39f6 100644
--- a/arch/nds32/mm/mm-nds32.c
+++ b/arch/nds32/mm/mm-nds32.c
@@ -34,8 +34,8 @@ pgd_t *pgd_alloc(struct mm_struct *mm)
cpu_dcache_wb_range((unsigned long)new_pgd,
(unsigned long)new_pgd +
PTRS_PER_PGD * sizeof(pgd_t));
- inc_zone_page_state(virt_to_page((unsigned long *)new_pgd),
- NR_PAGETABLE);
+ inc_lruvec_page_state(virt_to_page((unsigned long *)new_pgd),
+ NR_PAGETABLE);
return new_pgd;
}
@@ -59,7 +59,7 @@ void pgd_free(struct mm_struct *mm, pgd_t * pgd)
pte = pmd_page(*pmd);
pmd_clear(pmd);
- dec_zone_page_state(virt_to_page((unsigned long *)pgd), NR_PAGETABLE);
+ dec_lruvec_page_state(virt_to_page((unsigned long *)pgd), NR_PAGETABLE);
pte_free(mm, pte);
mm_dec_nr_ptes(mm);
pmd_free(mm, pmd);