Messages in this thread | | | Subject | Re: [PATCH v1 0/3] mm/memory_hotplug: Export generic_online_page() | From | David Hildenbrand <> | Date | Mon, 23 Sep 2019 14:34:23 +0200 |
| |
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
| |