]> git.proxmox.com Git - qemu-server.git/commitdiff
memory: remove calls to parse_hotplug_features
authorAlexandre Derumier <aderumier@odiso.com>
Mon, 13 Feb 2023 12:00:09 +0000 (13:00 +0100)
committerFiona Ebner <f.ebner@proxmox.com>
Wed, 15 Feb 2023 13:34:25 +0000 (14:34 +0100)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
[FE: style: avoid overly long lines]
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
PVE/QemuServer.pm
PVE/QemuServer/Memory.pm

index 6121bcddaacf4c0e197f260deb95f1c85545f7d9..a1a8b937ee8d36e62647ad31df0efc4458f1df4b 100644 (file)
@@ -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();
index b3ecf56d4aabadf93557878a08d8d33adb666832..8984821028361bad2fa7517134591fd4d5db84d8 100644 (file)
@@ -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 {