Re: [RFC PATCH 2/4] mm: Add support for unaccepted memory hotplug

From: David Hildenbrand (Red Hat)

Date: Fri Nov 28 2025 - 04:34:10 EST


On 11/27/25 18:40, Kiryl Shutsemau wrote:
On Wed, Nov 26, 2025 at 04:27:29PM -0600, Pratik R. Sampat wrote:


On 11/26/25 5:12 AM, Kiryl Shutsemau wrote:
On Tue, Nov 25, 2025 at 11:57:51AM -0600, Pratik R. Sampat wrote:
The unaccepted memory structure currently only supports accepting memory
present at boot time. The unaccepted table uses a fixed-size bitmap
reserved in memblock based on the initial memory layout, preventing
dynamic addition of memory ranges after boot. This causes guest
termination when memory is hot-added in a secure virtual machine due to
accessing pages that have not transitioned to private before use.

How does the hot-pluggable memory look in EFI memory map? I thought
hot-pluggable ranges suppose to be declared thare. The cleanest solution
would be to have hot-pluggable and unaccepted indicated in EFI memory,
so we can size bitmap accordingly upfront.


I'm not quite sure if I fully understand. Do you mean to refer to the
EFI_MEMORY_HOT_PLUGGABLE attribute that is used for cold plugged boot
memory? If so, wouldn't it still be desirable to increase the size of
the bitmap to what was marked as hotpluggable initially?

I just don't understand how hotpluggable memory presented in EFI memory
map in presence of unaccepted memory. If not-yet-plugged memory marked
as unaccepted we can preallocate bitmap upfront and make unaccepted
memory transparent wrt hotplug.

BTW, isn't virtio-mem a more attractive target to support than HW-style
hotplug?

I would have thought so as well, such that we can just let virtio-mem take care of any acceptance before actually using hotplugged memory (exposing it to the buddy).

Likely there is desire to support other hypervisors?

--
Cheers

David