All of lore.kernel.org
 help / color / mirror / Atom feed
* Guest migration between different Ryzen CPU generations
@ 2022-05-31 17:00 mike tancsa
  2022-06-02 12:42 ` Igor Mammedov
  2022-06-09 14:01 ` Paolo Bonzini
  0 siblings, 2 replies; 9+ messages in thread
From: mike tancsa @ 2022-05-31 17:00 UTC (permalink / raw)
  To: kvm

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-06-09 14:31 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-31 17:00 Guest migration between different Ryzen CPU generations mike tancsa
2022-06-02 12:42 ` Igor Mammedov
2022-06-02 15:09   ` mike tancsa
2022-06-02 21:46     ` Sean Christopherson
2022-06-03 13:18       ` mike tancsa
2022-06-03 15:09         ` Sean Christopherson
2022-06-09 14:01 ` Paolo Bonzini
2022-06-09 14:08   ` mike tancsa
2022-06-09 14:31     ` Paolo Bonzini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.