Re: [RFC PATCH v2] mm: initialize struct pages reserved by ZONE_DEVICE driver.

From: Michal Hocko
Date: Tue Sep 10 2019 - 13:35:42 EST


On Tue 10-09-19 07:53:17, Dan Williams wrote:
> On Tue, Sep 10, 2019 at 7:01 AM Michal Hocko <mhocko@xxxxxxxxxx> wrote:
> >
> > On Fri 06-09-19 08:09:52, Toshiki Fukasawa wrote:
> > [...]
> > > @@ -5856,8 +5855,6 @@ void __meminit memmap_init_zone(unsigned long size, int nid, unsigned long zone,
> > > if (!altmap)
> > > return;
> > >
> > > - if (start_pfn == altmap->base_pfn)
> > > - start_pfn += altmap->reserve;
> > > end_pfn = altmap->base_pfn + vmem_altmap_offset(altmap);
> >
> > Who is actually setting reserve? This is is something really impossible
> > to grep for in the kernle and git grep on altmap->reserve doesn't show
> > anything AFAICS.
>
> Yes, it's difficult to grep, here is the use in the nvdimm case:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/nvdimm/pfn_devs.c#n600

Thanks! I am still not sure what the proper fix is but this is a useful
pointer.

--
Michal Hocko
SUSE Labs