aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/node.c
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>2016-07-26 18:26:10 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-07-26 19:19:19 -0400
commit65c453778aea374a46597f4d9826274d1eaf7338 (patch)
tree4210852e253bcea95da5b2973d7be93a535ee3a1 /drivers/base/node.c
parentfc127da085c26beb89f83ad804cf73422c3b6855 (diff)
mm, rmap: account shmem thp pages
Let's add ShmemHugePages and ShmemPmdMapped fields into meminfo and smaps. It indicates how many times we allocate and map shmem THP. NR_ANON_TRANSPARENT_HUGEPAGES is renamed to NR_ANON_THPS. Link: http://lkml.kernel.org/r/1466021202-61880-27-git-send-email-kirill.shutemov@linux.intel.com Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/base/node.c')
-rw-r--r--drivers/base/node.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/base/node.c b/drivers/base/node.c
index 560751bad294..51c7db2c4ee2 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -113,6 +113,8 @@ static ssize_t node_read_meminfo(struct device *dev,
113 "Node %d SUnreclaim: %8lu kB\n" 113 "Node %d SUnreclaim: %8lu kB\n"
114#ifdef CONFIG_TRANSPARENT_HUGEPAGE 114#ifdef CONFIG_TRANSPARENT_HUGEPAGE
115 "Node %d AnonHugePages: %8lu kB\n" 115 "Node %d AnonHugePages: %8lu kB\n"
116 "Node %d ShmemHugePages: %8lu kB\n"
117 "Node %d ShmemPmdMapped: %8lu kB\n"
116#endif 118#endif
117 , 119 ,
118 nid, K(node_page_state(nid, NR_FILE_DIRTY)), 120 nid, K(node_page_state(nid, NR_FILE_DIRTY)),
@@ -131,10 +133,13 @@ static ssize_t node_read_meminfo(struct device *dev,
131 node_page_state(nid, NR_SLAB_UNRECLAIMABLE)), 133 node_page_state(nid, NR_SLAB_UNRECLAIMABLE)),
132 nid, K(node_page_state(nid, NR_SLAB_RECLAIMABLE)), 134 nid, K(node_page_state(nid, NR_SLAB_RECLAIMABLE)),
133#ifdef CONFIG_TRANSPARENT_HUGEPAGE 135#ifdef CONFIG_TRANSPARENT_HUGEPAGE
134 nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE)) 136 nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE)),
135 , nid, 137 nid, K(node_page_state(nid, NR_ANON_THPS) *
136 K(node_page_state(nid, NR_ANON_TRANSPARENT_HUGEPAGES) * 138 HPAGE_PMD_NR),
137 HPAGE_PMD_NR)); 139 nid, K(node_page_state(nid, NR_SHMEM_THPS) *
140 HPAGE_PMD_NR),
141 nid, K(node_page_state(nid, NR_SHMEM_PMDMAPPED) *
142 HPAGE_PMD_NR));
138#else 143#else
139 nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE))); 144 nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE)));
140#endif 145#endif