[Bug 43068] Operation restricted to levels L0-2 - kerneloops when booting L3

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

 



https://bugzilla.kernel.org/show_bug.cgi?id=43068


Nadav Har'El <nyh@xxxxxxxxxxxxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nyh@xxxxxxxxxxxxxxxxxxx




--- Comment #1 from Nadav Har'El <nyh@xxxxxxxxxxxxxxxxxxx>  2012-04-08 08:18:32 ---
Hi, indeed, theoretically L3 should work; And also in practice - in my tests it
did work (albeit very very slowly). I'll need to look into this issue, and
check why this bug is happening now.

You should just be aware that even if it will work, L3 will be extremely slow,
likely to the point of not being useful. One of reasons is the lack of nested
EPT in the upstream version. An even bigger problem is the exponential
explosion of exits described in the Turtles paper, which is made much worse by
one particular part of the existing implementation: Right now, on every nested
entry from L1 to L2, L0 recreates all the fields of the vmcs (see
prepare_vmcs02()) doing a few dozen VMWRITEs. When L0 does it, it's fine - but
when we are nested yet deeper, and there is an entry from L2 into L3 and *L1*
needs to do prepare_vmcs02(), now L1 calls a lot of VMWRITEs and they all cause
exits, and all of this is extremely slow.

There are two things we could do in the future to solve this performance
problem - if people really need to use L3 (currently, even L2 isn't very
popular ;-)). One is to have some sort of exit-less VMREAD/VMWRITE, with or
without hardware support for this feature. The second thing is to emulate
VMWRITE differently, writing to vmcs02 immediately and doing far fewer VMWRITES
on nested entries (doing this correctly is harder than it might seem, as I can
explain in a separate thread).

Nadav Har'El

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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