Re: [PATCH 0/4] mm,memory_hotplug: allocate memmap from hotadded memory

From: Michal Hocko
Date: Wed Apr 03 2019 - 04:12:42 EST


On Wed 03-04-19 10:01:16, Oscar Salvador wrote:
> On Tue, Apr 02, 2019 at 02:48:45PM +0200, Michal Hocko wrote:
> > So what is going to happen when you hotadd two memblocks. The first one
> > holds memmaps and then you want to hotremove (not just offline) it?
>
> If you hot-add two memblocks, this means that either:
>
> a) you hot-add a 256MB-memory-device (128MB per memblock)
> b) you hot-add two 128MB-memory-device
>
> Either way, hot-removing only works for memory-device as a whole, so
> there is no problem.
>
> Vmemmaps are created per hot-added operations, this means that
> vmemmaps will be created for the hot-added range.
> And since hot-add/hot-remove operations works with the same granularity,
> there is no problem.

What does prevent calling somebody arch_add_memory for a range spanning
multiple memblocks from a driver directly. In other words aren't you
making assumptions about a future usage based on the qemu usecase?

--
Michal Hocko
SUSE Labs