[PATCH 10/14] mm, vmstat: skip reporting offline pages in pagetypeinfo

From: Michal Hocko
Date: Mon May 15 2017 - 05:01:16 EST


From: Michal Hocko <mhocko@xxxxxxxx>

pagetypeinfo_showblockcount_print skips over invalid pfns but it would
report pages which are offline because those have a valid pfn. Their
migrate type is misleading at best. Now that we have pfn_to_online_page()
we can use it instead of pfn_valid() and fix this.

Noticed-by: Joonsoo Kim <js1304@xxxxxxxxx>
Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>
---
mm/vmstat.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/mm/vmstat.c b/mm/vmstat.c
index 571d3ec05566..c432e581f9a9 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1223,11 +1223,9 @@ static void pagetypeinfo_showblockcount_print(struct seq_file *m,
for (pfn = start_pfn; pfn < end_pfn; pfn += pageblock_nr_pages) {
struct page *page;

- if (!pfn_valid(pfn))
+ if (!pfn_to_online_page(pfn))
continue;

- page = pfn_to_page(pfn);
-
/* Watch for unexpected holes punched in the memmap */
if (!memmap_valid_within(pfn, page, zone))
continue;
--
2.11.0