Re: [PATCH v5 1/1] mm: refactor initialization of struct page for holes in memory layout

From: Michal Hocko
Date: Fri Feb 12 2021 - 05:12:12 EST


On Fri 12-02-21 10:56:19, David Hildenbrand wrote:
> On 12.02.21 10:55, David Hildenbrand wrote:
> > On 08.02.21 12:08, Mike Rapoport wrote:
[...]
> > > @@ -6519,8 +6581,19 @@ void __init get_pfn_range_for_nid(unsigned int nid,
> > > *end_pfn = max(*end_pfn, this_end_pfn);
> > > }
> > > - if (*start_pfn == -1UL)
> > > + if (*start_pfn == -1UL) {
> > > *start_pfn = 0;
> > > + return;
> > > + }
> > > +
> > > +#ifdef CONFIG_SPARSEMEM
> > > + /*
> > > + * Sections in the memory map may not match actual populated
> > > + * memory, extend the node span to cover the entire section.
> > > + */
> > > + *start_pfn = round_down(*start_pfn, PAGES_PER_SECTION);
> > > + *end_pfn = round_up(*end_pfn, PAGES_PER_SECTION);
> >
> > Does that mean that we might create overlapping zones when one node
>
> s/overlapping zones/overlapping nodes/

I didn't get to review the patch yet. Just wanted to note that we can
interleave nodes/zone. Or what kind of concern do you have in mind?

--
Michal Hocko
SUSE Labs