kaiser: no slowdown if you run everything in kernelspace.
@gdkar @djsundog On IBM mainframes, you have an instruction called SIE, which stands for Start Interpreted Execution. This lets the processor nest virtual machines pretty much indefinitely with minimal impact to performance.
It works almost exactly like a call to Unix select(), where when SIE returns, you get not only the current state of the VM, but also what caused the instruction to "return."
SIE doesn't need to be in supervisor state to run.
We can learn a lot from mainframes.