Proxmox 6.2 and epyc cpu issues.

OmegaBlue

Member
Jan 16, 2019
6
0
6
54
HI, I've recently updated my host to 6.2 package versions below. All my VMs are configured as this

Code:
agent: 1
balloon: 0
boot: cdn
bootdisk: scsi2
cores: 8
cpu: EPYC
hotplug: disk,network,usb,memory,cpu
ide2: none,media=cdrom
memory: 4096
name: hosting
net0: virtio=C2:24:C9:AC:7B:8B,bridge=vmbr0,tag=11
numa: 1
onboot: 1
ostype: l26
scsi0: ceph-pool:vm-103-disk-2,discard=on,size=100G
scsi1: ceph-pool:vm-103-disk-0,discard=on,size=8G
scsi2: ceph-pool:vm-103-disk-1,discard=on,size=1G
scsihw: virtio-scsi-pci
smbios1: uuid=9e124193-7d05-40c3-983e-4fe0e2fe0dd7
sockets: 2
vcpus: 4

So 2 sockets, 4 core by default but set with vcpu so I can have some flexiblity an can scale up VMs on the fly. Numa enabled for memory hot add. This all worked just fine in 6.1.

The VM refuses to start after the upgrade with the error message:
Code:
kvm: -device EPYC-x86_64-cpu,id=cpu2,socket-id=0,core-id=1,thread-id=0: Invalid CPU [socket: 32605, die: 0, core: 1, thread: 0] with APIC ID 260841, valid index range 0:15

The vm starts if i set only one socket and one core, all other combinations fail with a similar error message. Starting the VM with "host" CPU works just fine (the host is an epyc cpu).

Any insights what broke between 6.1 an 6.2? The comandline options look the same between versions, kvm issue maybe?

The full startup line is
Code:
/usr/bin/kvm -id 101 -name test -chardev socket,id=qmp,path=/var/run/qemu-server/101.qmp,server,nowait -mon chardev=qmp,mode=control -chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5 -mon chardev=qmp-event,mode=control -pidfile /var/run/qemu-server/101.pid -daemonize -smbios type=1,uuid=b50d85a0-62d9-4bb0-b2dc-70f4277cd609 -smp 1,sockets=2,cores=8,maxcpus=16 -device EPYC-x86_64-cpu,id=cpu2,socket-id=0,core-id=1,thread-id=0 -device EPYC-x86_64-cpu,id=cpu3,socket-id=0,core-id=2,thread-id=0 -device EPYC-x86_64-cpu,id=cpu4,socket-id=0,core-id=3,thread-id=0 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vnc unix:/var/run/qemu-server/101.vnc,password -cpu EPYC,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,vendor=AuthenticAMD -m size=1024,slots=255,maxmem=4194304M -object memory-backend-ram,id=ram-node0,size=512M -numa node,nodeid=0,cpus=0-7,memdev=ram-node0 -object memory-backend-ram,id=ram-node1,size=512M -numa node,nodeid=1,cpus=8-15,memdev=ram-node1 -object memory-backend-ram,id=mem-dimm0,size=512M -device pc-dimm,id=dimm0,memdev=mem-dimm0,node=0 -object memory-backend-ram,id=mem-dimm1,size=512M -device pc-dimm,id=dimm1,memdev=mem-dimm1,node=1 -object memory-backend-ram,id=mem-dimm2,size=512M -device pc-dimm,id=dimm2,memdev=mem-dimm2,node=0 -object memory-backend-ram,id=mem-dimm3,size=512M -device pc-dimm,id=dimm3,memdev=mem-dimm3,node=1 -object memory-backend-ram,id=mem-dimm4,size=512M -device pc-dimm,id=dimm4,memdev=mem-dimm4,node=0 -object memory-backend-ram,id=mem-dimm5,size=512M -device pc-dimm,id=dimm5,memdev=mem-dimm5,node=1 -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f -device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 -device usb-tablet,id=tablet,bus=uhci.0,port=1 -device VGA,id=vga,bus=pci.0,addr=0x2 -chardev socket,path=/var/run/qemu-server/101.qga,server,nowait,id=qga0 -device virtio-serial,id=qga0,bus=pci.0,addr=0x8 -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 -iscsi initiator-name=iqn.1993-08.org.debian:01:3c8544f25b88 -drive if=none,id=drive-ide2,media=cdrom,aio=threads -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200 -device virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5 -drive file=rbd:ceph-pool/vm-101-disk-1:conf=/etc/pve/ceph.conf:id=admin:keyring=/etc/pve/priv/ceph/ceph-pool.keyring,if=none,id=drive-scsi1,discard=on,format=raw,cache=none,aio=native,detect-zeroes=unmap -device scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi1,id=scsi1 -drive file=rbd:ceph-pool/vm-101-disk-0:conf=/etc/pve/ceph.conf:id=admin:keyring=/etc/pve/priv/ceph/ceph-pool.keyring,if=none,id=drive-scsi2,discard=on,format=raw,cache=none,aio=native,detect-zeroes=unmap -device scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=2,drive=drive-scsi2,id=scsi2,bootindex=101 -netdev type=tap,id=net0,ifname=tap101i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on -device virtio-net-pci,mac=66:AE:DC:0D:CB:76,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300 -machine type=pc+pve0

Code:
pveversion -v
proxmox-ve: 6.2-1 (running kernel: 5.4.60-1-pve)
pve-manager: 6.2-11 (running version: 6.2-11/22fb4983)
pve-kernel-5.4: 6.2-6
pve-kernel-helper: 6.2-6
pve-kernel-5.3: 6.1-6
pve-kernel-5.4.60-1-pve: 5.4.60-1
pve-kernel-5.3.18-3-pve: 5.3.18-3
pve-kernel-5.3.13-2-pve: 5.3.13-2
pve-kernel-5.3.10-1-pve: 5.3.10-1
ceph: 14.2.11-pve1
ceph-fuse: 14.2.11-pve1
corosync: 3.0.4-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.16-pve1
libproxmox-acme-perl: 1.0.4
libpve-access-control: 6.1-2
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.2-1
libpve-guest-common-perl: 3.1-3
libpve-http-server-perl: 3.0-6
libpve-storage-perl: 6.2-6
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 4.0.3-1
lxcfs: 4.0.3-pve3
novnc-pve: 1.1.0-1
openvswitch-switch: 2.12.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.2-10
pve-cluster: 6.1-8
pve-container: 3.1-13
pve-docs: 6.2-5
pve-edk2-firmware: 2.20200531-1
pve-firewall: 4.1-2
pve-firmware: 3.1-3
pve-ha-manager: 3.1-1
pve-i18n: 2.1-3
pve-qemu-kvm: 5.0.0-13
pve-xtermjs: 4.7.0-2
qemu-server: 6.2-14
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-2
zfsutils-linux: 0.8.4-pve1
 
Ok slight update, downgrading to pve-qemu-kvm=4.2.0-1 fixes the issue, so something in qemu5.0 broke epyc cpu model.
 
Hi,

I have tested on
AMD EPYC 7542 32-Core Processor

I can reproduce it too

Code:
# qm start 100
kvm: -device EPYC-x86_64-cpu,id=cpu2,socket-id=0,core-id=1,thread-id=0: Invalid CPU [socket: 32532, die: 0, core: 1, thread: 0] with APIC ID 260257, valid index range 0:15
start failed: QEMU exited with code 1
# qm start 100
kvm: -device EPYC-x86_64-cpu,id=cpu2,socket-id=0,core-id=1,thread-id=0: Invalid CPU [socket: 32548, die: 0, core: 1, thread: 0] with APIC ID 260385, valid index range 0:15
start failed: QEMU exited with code 1

# qm start 100
kvm: -device EPYC-x86_64-cpu,id=cpu2,socket-id=0,core-id=1,thread-id=0: Invalid CPU [socket: 32601, die: 0, core: 1, thread: 0] with APIC ID 260809, valid index range 0:15
start failed: QEMU exited with code 1
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!