[pve-devel] applied-series: [PATCH qemu-server 1/2] Disable memory hotplugging for custom NUMA topologies

Thomas Lamprecht t.lamprecht at proxmox.com
Thu Mar 19 18:57:22 CET 2020


On 3/19/20 2:19 PM, Alwin Antreich wrote:
> On Wed, Mar 18, 2020 at 04:18:44PM +0100, Stefan Reiter wrote:
>> This cannot work, since we adjust the 'memory' property of the VM config
>> on hotplugging, but then the user-defined NUMA topology won't match for
>> the next start attempt.
>>
>> Check needs to happen here, since it otherwise fails early with "total
>> memory for NUMA nodes must be equal to vm static memory".
>>
>> With this change the error message reflects what is actually happening
>> and doesn't allow VMs with exactly 1GB of RAM either.
>>
>> Signed-off-by: Stefan Reiter <s.reiter at proxmox.com>
>> ---
> Tested-by: Alwin Antreich <a.antreich at proxmox.com>

applied series, with your T-b tag, thanks to both!

> 
>>
>> Came up after investigating:
>> https://forum.proxmox.com/threads/task-error-total-memory-for-numa-nodes-must-be-equal-to-vm-static-memory.67251/
>>
>> Spent way too much time 'fixing' it before realizing that it can never work
>> like this anyway...
>>
>>  PVE/QemuServer/Memory.pm | 6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/PVE/QemuServer/Memory.pm b/PVE/QemuServer/Memory.pm
>> index d500b3b..ae9598b 100644
>> --- a/PVE/QemuServer/Memory.pm
>> +++ b/PVE/QemuServer/Memory.pm
>> @@ -225,6 +225,12 @@ sub config {
>>      if ($hotplug_features->{memory}) {
>>  	die "NUMA needs to be enabled for memory hotplug\n" if !$conf->{numa};
>>  	die "Total memory is bigger than ${MAX_MEM}MB\n" if $memory > $MAX_MEM;
>> +
>> +	for (my $i = 0; $i < $MAX_NUMA; $i++) {
>> +	    die "cannot enable memory hotplugging with custom NUMA topology\n"
> s/hotplugging/hotplug/ or s/hotplugging/hot plugging/
> The word hotplugging doesn't seem to exist in the dictionaries.

I mean yes, but it was understandable enough (and maybe late enough when applying)
to not trigger a followup from me, if you want to send one I can take it in, though :)

> 
>> +		if $conf->{"numa$i"};
>> +	}
>> +
>>  	my $sockets = 1;
>>  	$sockets = $conf->{sockets} if $conf->{sockets};
>>  
>> -- 
>> 2.25.1
>>




More information about the pve-devel mailing list