Messages in this thread | | | Date | Mon, 29 Jan 2018 19:47:46 +0100 | From | Michal Hocko <> | Subject | Re: [PATCH v3 1/1] mm: page_alloc: skip over regions of invalid pfns on UMA |
| |
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
| |