diff options
-rw-r--r-- | drivers/base/node.c | 6 | ||||
-rw-r--r-- | fs/proc/meminfo.c | 6 | ||||
-rw-r--r-- | mm/huge_memory.c | 1 | ||||
-rw-r--r-- | mm/rmap.c | 18 |
4 files changed, 9 insertions, 22 deletions
diff --git a/drivers/base/node.c b/drivers/base/node.c index 7616a77ca322..bc9f43bf7e29 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c | |||
@@ -125,13 +125,7 @@ static ssize_t node_read_meminfo(struct device *dev, | |||
125 | nid, K(node_page_state(nid, NR_WRITEBACK)), | 125 | nid, K(node_page_state(nid, NR_WRITEBACK)), |
126 | nid, K(node_page_state(nid, NR_FILE_PAGES)), | 126 | nid, K(node_page_state(nid, NR_FILE_PAGES)), |
127 | nid, K(node_page_state(nid, NR_FILE_MAPPED)), | 127 | nid, K(node_page_state(nid, NR_FILE_MAPPED)), |
128 | #ifdef CONFIG_TRANSPARENT_HUGEPAGE | ||
129 | nid, K(node_page_state(nid, NR_ANON_PAGES) | ||
130 | + node_page_state(nid, NR_ANON_TRANSPARENT_HUGEPAGES) * | ||
131 | HPAGE_PMD_NR), | ||
132 | #else | ||
133 | nid, K(node_page_state(nid, NR_ANON_PAGES)), | 128 | nid, K(node_page_state(nid, NR_ANON_PAGES)), |
134 | #endif | ||
135 | nid, K(node_page_state(nid, NR_SHMEM)), | 129 | nid, K(node_page_state(nid, NR_SHMEM)), |
136 | nid, node_page_state(nid, NR_KERNEL_STACK) * | 130 | nid, node_page_state(nid, NR_KERNEL_STACK) * |
137 | THREAD_SIZE / 1024, | 131 | THREAD_SIZE / 1024, |
diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c index 5aa847a603c0..59d85d608898 100644 --- a/fs/proc/meminfo.c +++ b/fs/proc/meminfo.c | |||
@@ -132,13 +132,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v) | |||
132 | K(i.freeswap), | 132 | K(i.freeswap), |
133 | K(global_page_state(NR_FILE_DIRTY)), | 133 | K(global_page_state(NR_FILE_DIRTY)), |
134 | K(global_page_state(NR_WRITEBACK)), | 134 | K(global_page_state(NR_WRITEBACK)), |
135 | #ifdef CONFIG_TRANSPARENT_HUGEPAGE | ||
136 | K(global_page_state(NR_ANON_PAGES) | ||
137 | + global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) * | ||
138 | HPAGE_PMD_NR), | ||
139 | #else | ||
140 | K(global_page_state(NR_ANON_PAGES)), | 135 | K(global_page_state(NR_ANON_PAGES)), |
141 | #endif | ||
142 | K(global_page_state(NR_FILE_MAPPED)), | 136 | K(global_page_state(NR_FILE_MAPPED)), |
143 | K(global_page_state(NR_SHMEM)), | 137 | K(global_page_state(NR_SHMEM)), |
144 | K(global_page_state(NR_SLAB_RECLAIMABLE) + | 138 | K(global_page_state(NR_SLAB_RECLAIMABLE) + |
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 963e14c0486f..7cef0c098630 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c | |||
@@ -1661,7 +1661,6 @@ static void __split_huge_page_refcount(struct page *page, | |||
1661 | BUG_ON(atomic_read(&page->_count) <= 0); | 1661 | BUG_ON(atomic_read(&page->_count) <= 0); |
1662 | 1662 | ||
1663 | __mod_zone_page_state(zone, NR_ANON_TRANSPARENT_HUGEPAGES, -1); | 1663 | __mod_zone_page_state(zone, NR_ANON_TRANSPARENT_HUGEPAGES, -1); |
1664 | __mod_zone_page_state(zone, NR_ANON_PAGES, HPAGE_PMD_NR); | ||
1665 | 1664 | ||
1666 | ClearPageCompound(page); | 1665 | ClearPageCompound(page); |
1667 | compound_unlock(page); | 1666 | compound_unlock(page); |
@@ -1052,11 +1052,11 @@ void do_page_add_anon_rmap(struct page *page, | |||
1052 | { | 1052 | { |
1053 | int first = atomic_inc_and_test(&page->_mapcount); | 1053 | int first = atomic_inc_and_test(&page->_mapcount); |
1054 | if (first) { | 1054 | if (first) { |
1055 | if (!PageTransHuge(page)) | 1055 | if (PageTransHuge(page)) |
1056 | __inc_zone_page_state(page, NR_ANON_PAGES); | ||
1057 | else | ||
1058 | __inc_zone_page_state(page, | 1056 | __inc_zone_page_state(page, |
1059 | NR_ANON_TRANSPARENT_HUGEPAGES); | 1057 | NR_ANON_TRANSPARENT_HUGEPAGES); |
1058 | __mod_zone_page_state(page_zone(page), NR_ANON_PAGES, | ||
1059 | hpage_nr_pages(page)); | ||
1060 | } | 1060 | } |
1061 | if (unlikely(PageKsm(page))) | 1061 | if (unlikely(PageKsm(page))) |
1062 | return; | 1062 | return; |
@@ -1085,10 +1085,10 @@ void page_add_new_anon_rmap(struct page *page, | |||
1085 | VM_BUG_ON(address < vma->vm_start || address >= vma->vm_end); | 1085 | VM_BUG_ON(address < vma->vm_start || address >= vma->vm_end); |
1086 | SetPageSwapBacked(page); | 1086 | SetPageSwapBacked(page); |
1087 | atomic_set(&page->_mapcount, 0); /* increment count (starts at -1) */ | 1087 | atomic_set(&page->_mapcount, 0); /* increment count (starts at -1) */ |
1088 | if (!PageTransHuge(page)) | 1088 | if (PageTransHuge(page)) |
1089 | __inc_zone_page_state(page, NR_ANON_PAGES); | ||
1090 | else | ||
1091 | __inc_zone_page_state(page, NR_ANON_TRANSPARENT_HUGEPAGES); | 1089 | __inc_zone_page_state(page, NR_ANON_TRANSPARENT_HUGEPAGES); |
1090 | __mod_zone_page_state(page_zone(page), NR_ANON_PAGES, | ||
1091 | hpage_nr_pages(page)); | ||
1092 | __page_set_anon_rmap(page, vma, address, 1); | 1092 | __page_set_anon_rmap(page, vma, address, 1); |
1093 | if (!mlocked_vma_newpage(vma, page)) { | 1093 | if (!mlocked_vma_newpage(vma, page)) { |
1094 | SetPageActive(page); | 1094 | SetPageActive(page); |
@@ -1148,11 +1148,11 @@ void page_remove_rmap(struct page *page) | |||
1148 | goto out; | 1148 | goto out; |
1149 | if (anon) { | 1149 | if (anon) { |
1150 | mem_cgroup_uncharge_page(page); | 1150 | mem_cgroup_uncharge_page(page); |
1151 | if (!PageTransHuge(page)) | 1151 | if (PageTransHuge(page)) |
1152 | __dec_zone_page_state(page, NR_ANON_PAGES); | ||
1153 | else | ||
1154 | __dec_zone_page_state(page, | 1152 | __dec_zone_page_state(page, |
1155 | NR_ANON_TRANSPARENT_HUGEPAGES); | 1153 | NR_ANON_TRANSPARENT_HUGEPAGES); |
1154 | __mod_zone_page_state(page_zone(page), NR_ANON_PAGES, | ||
1155 | -hpage_nr_pages(page)); | ||
1156 | } else { | 1156 | } else { |
1157 | __dec_zone_page_state(page, NR_FILE_MAPPED); | 1157 | __dec_zone_page_state(page, NR_FILE_MAPPED); |
1158 | mem_cgroup_dec_page_stat(page, MEM_CGROUP_STAT_FILE_MAPPED); | 1158 | mem_cgroup_dec_page_stat(page, MEM_CGROUP_STAT_FILE_MAPPED); |