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 > > Btw. irrespective to this issue all three callers should be using > pfn_to_online_page rather than pfn_to_page AFAICS. It doesn't really > make sense to collect data for offline pfn ranges. They might be > uninitialized even without zone device. Agree.