[pve-devel] [PATCH qemu-server] Fix #1384: add missing decrement to calculation of socket-id
Fabian Grünbichler
f.gruenbichler at proxmox.com
Wed May 17 10:55:29 CEST 2017
On Mon, May 15, 2017 at 04:16:12PM +0200, Tobias Böhm wrote:
> For calculation of "current_core" the input variable id is decremented.
> For calculation of "current_socket" this decrement was missing resulting
> in a wrong value when "cores" is set to 1.
>
> Signed-off-by: Tobias Böhm <tb at robhost.de>
> ---
> PVE/QemuServer.pm | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index c6bcb50..4919928 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -1749,7 +1749,7 @@ sub print_cpu_device {
> my $cores = $conf->{cores} || 1;
>
> my $current_core = ($id - 1) % $cores;
> - my $current_socket = int(($id - $current_core)/$cores);
> + my $current_socket = int(($id - 1 - $current_core)/$cores);
>
> return "$cpu-x86_64-cpu,id=cpu$id,socket-id=$current_socket,core-id=$current_core,thread-id=0";
> }
> --
> 2.11.0
Seems like I missed this mail - I already sent an alternative patch
earlier today ;) your version fixes your use case, but breaks VMs with
more than 1 core per socket.
Sorry for the confusion, and thanks for the bug report and proposed fix!
More information about the pve-devel
mailing list