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