Linux as a Hypervisor - page 3
Many Different Types of Virtualization
For example, once the hypervisor needs to become multicore aware, NUMA aware, able to SWAP with its own aging algorithms that detect the working set of each guest OS, able to keep the CPU in C4 state and at the lowest frequency the whole idle time, able to support CPU hotplug, memory hotplug, suspend to ram, and all other sort of features that a real OS has to support, Linux becomes a perfect fit to be the hypervisor itself as it solves all those problems already.
To make a few examples of the practical advantages of using Linux as Hypervisor, I was amazed how clean it was to allow KVM to swap reliably the entire guest memory in only a few weeks of work by taking avantage of the core Linux virtual memory management to do all the aging and working set calculations.
I'm also pleased of how the 2.6.24 kernel of my Penryn laptop that suspends with s2ram automatically with acpid when I close the lid, and it consumes only 0.5watts until I open the lid again. It continues playing YouTube video and audio inside KVM whenever I open the lid with only a few lines of KVM being aware of the suspend and resume to disable vmx/svm mode while the CPU is suspended.
I noticed that the design that requires the lowest effort to quickly reach equal or superior features usually wins the marketplace as it tends to be the most efficient and stable over time. I guess this is why we're not using IA64 laptops just yet.
Andrea Arcangeli is a kernel hacker and coder extraordinaire, and he works for Qumranet.