Bug 114851 - 2.6.32 L1 vm on 4.4 host with nested KVM enabled cannot launch L2 vm
Summary: 2.6.32 L1 vm on 4.4 host with nested KVM enabled cannot launch L2 vm
Status: ASSIGNED
Alias: None
Product: Virtualization
Classification: Unclassified
Component: kvm (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Paolo Bonzini
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-18 06:00 UTC by jmontleo
Modified: 2016-03-18 22:55 UTC (History)
2 users (show)

See Also:
Kernel Version: 4.4+
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description jmontleo 2016-03-18 06:00:55 UTC
With nested virtualization enabled it was possible with 4.2 and 4.3 to create L1 RHEV hypervisors running on RHEL 6.7 that could then launch L2 vm's. With 4.4 this is no longer possible

The baremetal system is Fedora 23, currently running 4.4.5. On this an L1 RHEV hypervisor runs RHEL 6.7 with kernel 2.6.32. Any L2 VM launched in RHEV with this combination gets stuck booting and you soon start to see cpu soft lockups on the L1.

adding a modprobe.d file on the L1 with options kvm_intel vpid=0 regains the ability to launch VM's. Doing this on the baremetal host causes the L1 to panic and reboot when you try to launch an L2 VM.

As an additional piece of information it still seems possible to launch vm's on L1 RHEL 7 Openstack compute nodes, so it may be the combination of 4.4+ with ~2.6.32.

I ripped these out in 4.4.6 and rebuilt the kernel at which I once again no longer saw vpid in /proc/cpuinfo on the L1 and am able to boot L2 vms again:
https://git.kernel.org/torvalds/c/99b83ac893b84ed1a62ad6d1f2b6cc32026b9e85
https://git.kernel.org/torvalds/c/089d7b6ec5151ad06a2cd524bc0580d311b641ad
https://git.kernel.org/torvalds/c/5c614b3583e7b6dab0c86356fa36c2bcbb8322a0

4.4.4 and 4.5.0 are also affected.
Comment 1 Paolo Bonzini 2016-03-18 16:11:05 UTC
Yes, it is a bug in 2.6.32 which we obviously should work around.  I've sent a patch to the KVM mailing list.
Comment 2 jmontleo 2016-03-18 16:19:34 UTC
Great, thank you. I will give this a try and report back.
Comment 3 jmontleo 2016-03-18 22:55:33 UTC
I tested with your patches and they work great. I can boot vm's with 4.4.6 with your patches applied and vpid showing up on the L1 host. Thanks!

Note You need to log in before you can comment on or make changes to this bug.