Hi,

I'm trying to debug an issue with live migrations between Ubuntu 18.04 and 20.04 machines each with different CPUs:

- Ubuntu 18.04 with AMD Epyc 7552 (Rome)
- Ubuntu 20.04 with AMD Epyc 7662 (Milan)

We are currently using this setting:

guest.cpu.mode=custom
guest.cpu.model=EPYC

This does not allow for live migrations:

Ubuntu 20.04 with Epyc 7662 to Ubuntu 18.04 with Epyc 7552 fails

"ExecutionException : org.libvirt.LibvirtException: unsupported configuration: unknown CPU feature: npt"

So we tried to define a set of features manually:

guest.cpu.features=3dnowprefetch abm adx aes apic arat avx avx2 bmi1 bmi2 clflush clflushopt cmov cr8legacy cx16 cx8 de f16c fma fpu fsgsbase fxsr fxsr_opt lahf_lm lm mca mce misalignsse mmx mmxext monitor movbe msr mtrr nx osvw pae pat pclmuldq pdpe1gb pge pni popcnt pse pse36 rdrand rdseed rdtscp sep sha-ni smap smep sse sse2 sse4.1 sse4.2 sse4a ssse3 svm syscall tsc vme xgetbv1 xsave xsavec xsaveopt -npt -x2apic -hypervisor -topoext -nrip-save

This results in this going into the XML:

<feature policy='disable' name='npt'/>

You would say that works, but then the target host (18.04 with the 7552) says it doesn't support the feature 'npt' and the migration still fails.

Now we could ofcourse use the kvm64 CPU from Qemu, but that's lacking so many features that for example TLS offloading isn't available.

I also tried to set 'EPYC-Rome' on the Ubuntu 20.04 hypervisor, but it then complains on the Ubuntu 18.04 hypervisor that the CPU 'EPYC-Rome' is unknown as the 18.04 hypervisor doesn't have that profile.

Any ideas on how to get this working?

Wido

Reply via email to