Re: [PATCH v3 2/2] mm/page_alloc: fix memmap_init_zone pageblock alignment
From: Sudeep Holla
Date: Mon Mar 12 2018 - 13:11:27 EST
On 12/03/18 16:51, Daniel Vacek wrote:
[...]
>
> Hmm, does it step back perhaps?
>
> Can you check if below cures the boot hang?
>
Yes it does fix the boot hang.
> --nX
>
> ~~~~
> neelx@metal:~/nX/src/linux$ git diff
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 3d974cb2a1a1..415571120bbd 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -5365,8 +5365,10 @@ void __meminit memmap_init_zone(unsigned long
> size, int nid, unsigned long zone,
> * the valid region but still depends on correct page
> * metadata.
> */
> - pfn = (memblock_next_valid_pfn(pfn, end_pfn) &
> + unsigned long next_pfn;
> + next_pfn = (memblock_next_valid_pfn(pfn, end_pfn) &
> ~(pageblock_nr_pages-1)) - 1;
> + pfn = max(next_pfn, pfn);
> #endif
> continue;
> }
> ~~~~
>
--
Regards,
Sudeep