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. 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. -- Michal Hocko SUSE Labs