| ▲ | trebligdivad a day ago | ||||||||||||||||||||||||||||||||||||||||
Nested virt on x86 is curiously painful; you'd kind of think each layer would be isolated, so that the L0 (hardware) would only have to worry about it's VM (L1), and L1 would have to worry about it's VM (L2); but nope - the L0 top level hypervisor sees faults from the L2 and has to figure out that they are actually L2 not L0. IMHO the extra complexity (and historical flakiness of it) - makes me say that enabling nesting is a bad idea for public VM hosts. | |||||||||||||||||||||||||||||||||||||||||
| ▲ | 20 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||
| [deleted] | |||||||||||||||||||||||||||||||||||||||||
| ▲ | stinkbeetle 17 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
The alternatives are the L0 emulates a hypervisor-privileged mode to the L1 which would be a performance cost (and does not really avoid the problem since the L0 would have to emulate vmenter/vmrun and therefore be aware of the L2 anyway, or the hardware would have to provide some nested virtualization facility which seems like it would be complicated and expensive for little benefit, though I could be mistaken. Does anything do a "real" nested virtualization in hardware? s390 might but I know ~nothing about it and it probably does not expose its bare metal hardware layers to Linux/KVM anyway. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| ▲ | iririririr 18 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||
but that's the entire point of kvm. that leak is the feature! that's how you get the performance boost. | |||||||||||||||||||||||||||||||||||||||||