This is part of some recent testing that I’ve been doing with upstream KVM (for 3.10.1). The threads linked here has initial tests bench-marking kernel compile (with
make defconfig, a default config file) times in L2. And some minimal
guestfish appliance start-up timings in L1.
- Setup information to test with VMCS (Virtual Machine Control Structure) Shadowing. In brief, VMCS Shadowing — a processor specific feature — as described upstream, can reduce the overhead of nested virtualization by reducing the number of VMExits from L1 to L0.
- Simple scripts used to create L1 and L2.
- Libvirt XMLs of L1, L2 guests, for reference.
The gritty details of reasons for VMExits are described in Intel architecture manuals, Volume 3b, APPENDIX 1.