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

From: Vlastimil Babka
Date: Fri May 19 2017 - 04:17:39 EST


On 05/15/2017 10:58 AM, Michal Hocko wrote:
> 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>

(with the followup fix)

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>

> ---
> 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;
>