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

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


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