From dafb728cb8ac6e7c496c3b9438c3260a5647b162 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Mon, 13 Feb 2023 13:00:09 +0100 Subject: [PATCH] memory: remove calls to parse_hotplug_features Signed-off-by: Alexandre Derumier [FE: style: avoid overly long lines] Signed-off-by: Fiona Ebner --- PVE/QemuServer.pm | 9 +++++++-- PVE/QemuServer/Memory.pm | 13 ++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 6121bcd..a1a8b93 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -3884,7 +3884,8 @@ sub config_to_command { push @$cmd, get_cpu_options($conf, $arch, $kvm, $kvm_off, $machine_version, $winversion, $gpu_passthrough); } - PVE::QemuServer::Memory::config($conf, $vmid, $sockets, $cores, $defaults, $hotplug_features, $cmd); + PVE::QemuServer::Memory::config( + $conf, $vmid, $sockets, $cores, $defaults, $hotplug_features->{memory}, $cmd); push @$cmd, '-S' if $conf->{freeze}; @@ -5918,7 +5919,11 @@ sub vm_start_nolock { if ($conf->{hugepages}) { my $code = sub { - my $hugepages_topology = PVE::QemuServer::Memory::hugepages_topology($conf); + my $hotplug_features = + parse_hotplug_features(defined($conf->{hotplug}) ? $conf->{hotplug} : '1'); + my $hugepages_topology = + PVE::QemuServer::Memory::hugepages_topology($conf, $hotplug_features->{memory}); + my $hugepages_host_topology = PVE::QemuServer::Memory::hugepages_host_topology(); PVE::QemuServer::Memory::hugepages_mount(); diff --git a/PVE/QemuServer/Memory.pm b/PVE/QemuServer/Memory.pm index b3ecf56..8984821 100644 --- a/PVE/QemuServer/Memory.pm +++ b/PVE/QemuServer/Memory.pm @@ -273,12 +273,12 @@ sub qemu_dimm_list { } sub config { - my ($conf, $vmid, $sockets, $cores, $defaults, $hotplug_features, $cmd) = @_; + my ($conf, $vmid, $sockets, $cores, $defaults, $hotplug, $cmd) = @_; my $memory = $conf->{memory} || $defaults->{memory}; my $static_memory = 0; - if ($hotplug_features->{memory}) { + if ($hotplug) { die "NUMA needs to be enabled for memory hotplug\n" if !$conf->{numa}; my $MAX_MEM = get_max_mem($conf); die "Total memory is bigger than ${MAX_MEM}MB\n" if $memory > $MAX_MEM; @@ -366,7 +366,7 @@ sub config { } } - if ($hotplug_features->{memory}) { + if ($hotplug) { foreach_dimm($conf, $vmid, $memory, $sockets, sub { my ($conf, $vmid, $name, $dimm_size, $numanode, $current_size, $memory) = @_; @@ -490,7 +490,7 @@ sub hugepages_size { } sub hugepages_topology { - my ($conf) = @_; + my ($conf, $hotplug) = @_; my $hugepages_topology = {}; @@ -501,9 +501,8 @@ sub hugepages_topology { my $static_memory = 0; my $sockets = $conf->{sockets} || 1; my $numa_custom_topology = undef; - my $hotplug_features = PVE::QemuServer::parse_hotplug_features(defined($conf->{hotplug}) ? $conf->{hotplug} : '1'); - if ($hotplug_features->{memory}) { + if ($hotplug) { $static_memory = $STATICMEM; $static_memory = $static_memory * $sockets if ($conf->{hugepages} && $conf->{hugepages} == 1024); } else { @@ -539,7 +538,7 @@ sub hugepages_topology { } } - if ($hotplug_features->{memory}) { + if ($hotplug) { my $numa_hostmap = get_numa_guest_to_host_map($conf); foreach_dimm($conf, undef, $memory, $sockets, sub { -- 2.39.2