On 23.09.19 14:30, Michal Hocko wrote: > On Mon 23-09-19 14:20:05, David Hildenbrand wrote: >> On 23.09.19 14:07, Michal Hocko wrote: >>> On Mon 23-09-19 13:34:18, David Hildenbrand wrote: >>>> On 23.09.19 13:15, Michal Hocko wrote: >>> [...] >>>>> I am wondering why those pages get onlined when they are, in fact, >>>>> supposed to be offline. >>>>> >>>> >>>> It's the current way of emulating sub-memory-block hotplug on top of the >>>> memory bock device API we have. Hyper-V and XEN have been using that for >>>> a long time. >>> >>> Do they really have to use the existing block interface when they in >>> fact do not operate on the block granularity? Zone device memory already >>> acts on sub section/block boundaries. >>> >> >> Yes, we need memory blocks, especially for user space to properly online >> them (as we discussed a while back, to decide on a zone) and for udev >> events, to e.g., properly reload kexec when memory blocks get >> added/removed/onlined/offlined. > > Just to make sure I really follow. We need a user interface to control > where the memory gets onlined but it is the driver which determines > which part of the block really gets onlined, right? > Yes, it's the drivers job to decide which part of the memory block can actually get used, and when. It's a little bit like the driver immediately allocates unbacked memory again, to free that memory to the buddy once requested. (similar to how ballooning works). -- Thanks, David / dhildenb