[pve-devel] partially-applied: [PATCH v4 qemu-server 00/16] rework memory hotplug + virtiomem

Fiona Ebner f.ebner at proxmox.com
Thu Feb 16 13:35:06 CET 2023

Am 15.02.23 um 14:42 schrieb Fiona Ebner:
> Am 13.02.23 um 13:00 schrieb Alexandre Derumier:
>> This patch series rework the current memory hotplug + virtiomem.
>> memory option now have extra options:
>> memory: [[current=]<integer>] [,max=<enum>] [,virtio=<1|0>]
>> ex: memory: current=1024,max=131072,virtio=1
>> for classic memory hotplug, when maxmemory is defined,
>> we use 64 fixed size dimm.
>> The max option is a multiple of 64GB.
>> The virtio option enable new virtio-mem support,
>> instead of plugging dimm, it's add/removed block inside
>> big dimm.
>> virtio-mem can use 32000 blocks, the blocksize is compute from
>> max memory.
> Thanks! Applied the first 4 patches, will take a look at the others
> tomorrow. We still need to adapt HA before memory can be turned into a
> format string here ;)

I'll try and work out patches to make HA independent of config details.

@Thomas: based on our brief discussion off-list, would the following be

Add a get_derived_property() method to AbstractConfig.pm, taking a
(partial) config and the name for the derived property. The first two
will be 'maxcpu' and 'maxmem' (should I use 'max-cpu' or different
names?), because that's what HA manager needs.

The partial config needs to contain all actual properties needed to
compute the derived property, e.g. 'vcpus', 'sockets' and 'cores' for
'maxcpu' in case of VMs.

If we switch to get_guest_config_properties(), there needs to be a
second method to request which properties are actually needed for the
computation of the derived property beforehand.

Whenever something in the actual properties changes, the calculation
needs to be adapted to still yield the same result for the derived
property, but this can be done entirely in the VM/CT plugin implementation.

Whenever HA manager needs something new, a new derived property is
implemented in the plugins and dependency bumps for
qemu-server/pve-container are done.

More information about the pve-devel mailing list