On Wed 24-01-18 15:35:45, Eugeniu Rosca wrote:
[...]
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 76c9688b6a0a..4a3d5936a9a0 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -5344,14 +5344,12 @@ void __meminit memmap_init_zone(unsigned long size, 
> int nid, unsigned long zone,
>                       goto not_early;
>  
>               if (!early_pfn_valid(pfn)) {
> -#ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP
>                       /*
>                        * Skip to the pfn preceding the next valid one (or
>                        * end_pfn), such that we hit a valid pfn (or end_pfn)
>                        * on our next iteration of the loop.
>                        */
>                       pfn = memblock_next_valid_pfn(pfn, end_pfn) - 1;
> -#endif
>                       continue;

Wouldn't it be just simpler to have ifdef CONFIG_HAVE_MEMBLOCK rather
than define memblock_next_valid_pfn for !HAVE_MEMBLOCK and then do the
(pfn + 1 ) - 1 games. I am usually against ifdefs in the code but that
would require a larger surgery to memmap_init_zone.

To be completely honest, I would like to see HAVE_MEMBLOCK_NODE_MAP
gone.

Other than that, the patch looks sane to me.

>               }
>               if (!early_pfn_in_nid(pfn, nid))
> -- 
> 2.15.1
> 

-- 
Michal Hocko
SUSE Labs

Reply via email to