On Fri 30-08-19 09:07:59, David Hildenbrand wrote: > On 30.08.19 08:47, Michal Hocko wrote: > > On Fri 30-08-19 08:20:32, David Hildenbrand wrote: > > [...] > >> Regarding shrink_zone_span(), I suspect it was introduced by > >> > >> d0dc12e86b31 ("mm/memory_hotplug: optimize memory hotplug") > > > > zone shrinking code is much older - 815121d2b5cd5. But I do not think > > this is really needed for Fixes tag. > > > > Yes it's older, but since d0dc12e86b31 we could run into uninitialized > nids for added memory when trying to shrink the zone. Well, not really. Strictly speaking pre d0dc12e86b31 would initialize struct page to zero so it is initialized but that doesn't mean that the struct page has a meaningfull and usable content. Zone index would be 0 so the lowest zone which is not something you want to use on the hotremove path. -- Michal Hocko SUSE Labs