On 05/15/2017 10:58 AM, Michal Hocko wrote: > From: Michal Hocko <[email protected]> > > 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 <[email protected]> > Signed-off-by: Michal Hocko <[email protected]>
(with the followup fix) Acked-by: Vlastimil Babka <[email protected]> > --- > 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; >

