[libvirt-users] Nested KVM: L0 guest produces kernel BUG on wakeup from managed save (while a nested VM is running)

Kashyap Chamarthy kchamart at redhat.com
Thu Feb 8 11:34:24 UTC 2018


On Thu, Feb 08, 2018 at 11:46:24AM +0100, Kashyap Chamarthy wrote:
> On Wed, Feb 07, 2018 at 11:26:14PM +0100, David Hildenbrand wrote:
> > On 07.02.2018 16:31, Kashyap Chamarthy wrote:
> 
> [...]
> 
> > Sounds like a similar problem as in
> > https://bugzilla.kernel.org/show_bug.cgi?id=198621
> > 
> > In short: there is no (live) migration support for nested VMX yet. So as
> > soon as your guest is using VMX itself ("nVMX"), this is not expected to
> > work.
> 
> Actually, live migration with nVMX _does_ work insofar as you have
> _identical_ CPUs on both source and destination — i.e. use the QEMU
> '-cpu host' for the L1 guests.  At least that's been the case in my
> experience.  FWIW, I frequently use that setup in my test environments.

Correcting my erroneous statement above: For live migration to work in a
nested KVM setup, it is _not_ mandatory to use "-cpu host".

I just did another test.  Here I used libvirt's 'host-model' for both
source and destination L1 guests, _and_ for L2 guest.  Migrated the L2
to destination L1, worked great.

In my setup, both my L1 guests recieved the following CPU configuration
(in QEMU command-line):

    [...]
    -cpu Haswell-noTSX,vme=on,ss=on,vmx=on,f16c=on,rdrand=on,\
    hypervisor=on,arat=on,tsc_adjust=on,xsaveopt=on,pdpe1gb=on,abm=on,aes=off
    [...]

And the L2 guest recieved this:

    [...]
    -cpu Haswell-noTSX,vme=on,ss=on,f16c=on,rdrand=on,hypervisor=on,\
    arat=on,tsc_adjust=on,xsaveopt=on,pdpe1gb=on,abm=on,aes=off,invpcid=off
    [...]

-- 
/kashyap




More information about the libvirt-users mailing list