On Wed 03-04-19 11:40:54, Oscar Salvador wrote: > On Wed, Apr 03, 2019 at 10:37:57AM +0200, Michal Hocko wrote: > > That being said it should be the caller of the hotplug code to tell > > the vmemmap allocation strategy. For starter, I would only pack vmemmaps > > for "regular" kernel zone memory. Movable zones should be more careful. > > We can always re-evaluate later when there is a strong demand for huge > > pages on movable zones but this is not the case now because those pages > > are not really movable in practice. > > I agree that makes sense to let the caller specify if it wants to allocate > vmemmaps per memblock or per memory-range, so we are more flexible when it > comes to granularity in hot-add/hot-remove operations. And just to be more specific. The api shouldn't really care about this implementation detail. So ideally the caller of add_pages just picks up the proper allocator and the rest is completely transparent. > But the thing is that the zones are picked at onling stage, while > vmemmaps are created at hot-add stage, so I am not sure we can define > the strategy depending on the zone. THis is a good point. We do have means to tell a default zone for the regular memory hotplug so this can be reused based on the pfn range (default_zone_for_pfn). -- Michal Hocko SUSE Labs