From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 6778E90727 for ; Thu, 9 Mar 2023 09:52:27 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5183E7BE0 for ; Thu, 9 Mar 2023 09:52:27 +0100 (CET) Received: from bastionodiso.odiso.net (bastionodiso.odiso.net [185.151.191.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Thu, 9 Mar 2023 09:52:26 +0100 (CET) Received: from kvmformation3.odiso.net (formationkvm3.odiso.net [10.3.94.12]) by bastionodiso.odiso.net (Postfix) with ESMTP id 0174A80CA; Thu, 9 Mar 2023 09:52:20 +0100 (CET) Received: by kvmformation3.odiso.net (Postfix, from userid 0) id F2001133F0F; Thu, 9 Mar 2023 09:52:19 +0100 (CET) From: Alexandre Derumier To: pve-devel@lists.proxmox.com Date: Thu, 9 Mar 2023 09:52:14 +0100 Message-Id: <20230309085217.3649203-4-aderumier@odiso.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230309085217.3649203-1-aderumier@odiso.com> References: <20230309085217.3649203-1-aderumier@odiso.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.068 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% HEADER_FROM_DIFFERENT_DOMAINS 0.25 From and EnvelopeFrom 2nd level mail domains are different KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods NO_DNS_FOR_FROM 0.001 Envelope sender has no MX or A DNS records SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record Subject: [pve-devel] [PATCH qemu-server 3/6] cpuconfig: add get_cpu_topology helper X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Mar 2023 08:52:27 -0000 Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 16 +++------------- PVE/QemuServer/CPUConfig.pm | 11 +++++++++++ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index deb7faf..b49b59b 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -50,7 +50,7 @@ use PVE::QemuConfig; use PVE::QemuServer::Helpers qw(min_version config_aware_timeout windows_version); use PVE::QemuServer::Cloudinit; use PVE::QemuServer::CGroup; -use PVE::QemuServer::CPUConfig qw(print_cpu_device get_cpu_options); +use PVE::QemuServer::CPUConfig qw(print_cpu_device get_cpu_options get_cpu_topology); use PVE::QemuServer::Drive qw(is_valid_drivename drive_is_cloudinit drive_is_cdrom drive_is_read_only parse_drive print_drive); use PVE::QemuServer::Machine; use PVE::QemuServer::Memory; @@ -3818,13 +3818,7 @@ sub config_to_command { add_tpm_device($vmid, $devices, $conf); - my $sockets = 1; - $sockets = $conf->{smp} if $conf->{smp}; # old style - no longer iused - $sockets = $conf->{sockets} if $conf->{sockets}; - - my $cores = $conf->{cores} || 1; - - my $maxcpus = $sockets * $cores; + my ($sockets, $cores, $maxcpus) = get_cpu_topology($conf); my $vcpus = $conf->{vcpus} ? $conf->{vcpus} : $maxcpus; @@ -4660,11 +4654,7 @@ sub qemu_cpu_hotplug { my $machine_type = PVE::QemuServer::Machine::get_current_qemu_machine($vmid); - my $sockets = 1; - $sockets = $conf->{smp} if $conf->{smp}; # old style - no longer iused - $sockets = $conf->{sockets} if $conf->{sockets}; - my $cores = $conf->{cores} || 1; - my $maxcpus = $sockets * $cores; + my ($sockets, $cores, $maxcpus) = get_cpu_topology($conf); $vcpus = $maxcpus if !$vcpus; diff --git a/PVE/QemuServer/CPUConfig.pm b/PVE/QemuServer/CPUConfig.pm index fb0861b..826e472 100644 --- a/PVE/QemuServer/CPUConfig.pm +++ b/PVE/QemuServer/CPUConfig.pm @@ -12,6 +12,7 @@ use base qw(PVE::SectionConfig Exporter); our @EXPORT_OK = qw( print_cpu_device get_cpu_options +get_cpu_topology ); # under certain race-conditions, this module might be loaded before pve-cluster @@ -659,6 +660,16 @@ sub get_cpu_from_running_vm { return $1; } +sub get_cpu_topology { + my ($conf) = @_; + + my $sockets = $conf->{sockets} || 1; + my $cores = $conf->{cores} || 1; + my $maxcpus = $sockets * $cores; + + return ($sockets, $cores, $maxcpus); +} + __PACKAGE__->register(); __PACKAGE__->init(); -- 2.30.2