Re: [PATCH 08/13] mm, compaction: skip over holes in __reset_isolation_suitable
From: Michal Hocko
Date: Thu Apr 27 2017 - 03:59:34 EST
On Fri 21-04-17 14:05:11, Michal Hocko wrote:
> From: Michal Hocko <mhocko@xxxxxxxx>
>
> __reset_isolation_suitable walks the whole zone pfn range and it tries
> to jump over holes by checking the zone for each page. It might still
> stumble over offline pages, though. Skip those by checking PageReserved.
ups, forgot to update the changelog here. s@PageReserved@pfn_to_online_page()@
> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>
> ---
> mm/compaction.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/mm/compaction.c b/mm/compaction.c
> index 613c59e928cb..fb548e4c7bd4 100644
> --- a/mm/compaction.c
> +++ b/mm/compaction.c
> @@ -236,10 +236,9 @@ static void __reset_isolation_suitable(struct zone *zone)
>
> cond_resched();
>
> - if (!pfn_valid(pfn))
> + page = pfn_to_online_page(pfn);
> + if (!page)
> continue;
> -
> - page = pfn_to_page(pfn);
> if (zone != page_zone(page))
> continue;
>
> --
> 2.11.0
>
--
Michal Hocko
SUSE Labs