Guest migration between different Ryzen CPU generations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

    I have been using kvm since the Ubuntu 18 and 20.x LTS series of kernels and distributions without any issues on a whole range of Guests up until now. Recently, we spun up an Ubuntu LTS 22 hypervisor to add to the mix and eventually upgrade to. Hardware is a series of Ryzen 7 CPUs (3700x).  Migrations back and forth without issue for Ubuntu 20.x kernels.  The first Ubuntu 22 machine was on identical hardware and all was good with that too. The second Ubuntu 22 based machine was spun up with a newer gen Ryzen, a 5800x.  On the initial kernel version that came with that release back in April, migrations worked as expected between hardware as well as different kernel versions and qemu / KVM versions that come default with the distribution. Not sure if migrations between kernel and KVM versions "accidentally" worked all these years, but they did.  However, we ran into an issue with the kernel 5.15.0-33-generic (possibly with 5.15.0-30 as well) thats part of Ubuntu.  Migrations no longer worked to older generation CPUs.  I could send a guest TO the box and all was fine, but upon sending the guest to another hypervisor, the sender would see it as successfully migrated, but the VM would typically just hang, with 100% CPU utilization, or sometimes crash.  I tried a 5.18 kernel from May 22nd and again the behavior is different. If I specify the CPU as EPYC or EPYC-IBPB, I can migrate back and forth.

Quick summary

On Ubuntu 20.04 LTS with latest Ubuntu updates, I can migrate VMs back and forth between a 3700x and a 5800x without issue. Guests are a mix of Ubuntu, Fedora and FreeBSD On Ubuntu 22 LTS, with the original kernel from release day, I can migrate VMs back and forth between a 3700x and a 5800x without issue On Ubuntu 22 LTS with everything up to date as of mid May 2022, I can migrate from the 3700X to the 5800x without issue. But going from the 5800x to the 3700x results in a migrated VM that either crashes inside the VM or has the CPU pegged at 100% spinning its wheels with the guest frozen and needing a hard reset. This is with --live or without and with --unsafe or without. The crash / hang happens once the VM is fully migrated with the sender thinking it was successfully sent and the receiver thinking it successfully arrived in. On stock Ubuntu 22 (5.15.0-33-generic) I can migrate back and forth to Ubuntu 20 as long as the hardware / cpu is identical (in this case, 3700x) On Ubuntu 22 LTS with everything up to date as of mid May 2022 with 5.18.0-051800-generic #202205222030 SMP PREEMPT_DYNAMIC Sun May 22. I can migrate VMs back and forth that have as its CPU def EPYC or EPYC-IBPB. If the def (in my one test case anyways) is Nehalem then I get a frozen VM on migration back to the 3700X.

Some more details at

https://ubuntuforums.org/showthread.php?t=2475399

Is this a bug ? Expected behavior ?  Is there a better place to ask these questions ?

Thanks in advance!

    ---Mike




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux