Why Bytemark didn't use Xen
blog.bytemark.co.uk
blog.bytemark.co.uk
With KVM the hypervisor is over the Linux kernel and gets to use the facilities of the host kernel. Less code, less complexity. Why wouldn't Linux kernel hackers prefer KVM over Xen? They get full control (aka the ability to get crap fixed without hounding an external party) and get to reuse code they already have to write anyway.
Preferring the KVM approach over Xen makes 100% sense to me in the long term for the Linux folks.
In this particular case, Redhat/Linus/kernel hacker's obstinate refusal to add it to the stock kernel. They exhibited NIH and did KVM (which surprise surprise was owned by Redhat). I'm no virtualization expert, but KVM is doing things totally different than everybody else (no hypervisor), and I'm not 100% sure that KVM's way is better.
Xen should be a cautionary tale for startups that opening source is not a silver bullet. The capricious behavior of a coterie can kill you even if that coterie is ostensiby not controlled by any company.
> In this particular case, Redhat/Linus/kernel hacker's obstinate refusal to add it to the stock kernel.
Why obstinate? Xen is not a part of a kernel in some ways. Some capabilities of the system have to be maintained in parallel in both the hypervisor and kernel. And it's not like it was rejected because it was a VM solution - another one was proposed and accepted into mainline (KVM).
> They exhibited NIH and did KVM (which surprise surprise was owned by Redhat).
LKML has a lot of talk about "why"... it wasn't simply NIH. Regarding "owned by Redhat" - it was included first, then owned by RH:
* "The Linux kernel 2.6.20 release (February 2007) was the first to include KVM." (wikipedia)
* "In September 2008, Red Hat announced the acquisition of Qumranet, Inc. The acquisition included Qumranet's virtualization solutions, including its KVM (Kernel Virtual Machine) platform" (http://www.redhat.com/promo/qumranet/)
> KVM is doing things totally different than everybody else (no hypervisor), and I'm not 100% sure that KVM's way is better.
KVM relies on the idea that if the current kernel already does the work, why duplicate the effort? Apart from minimal, verifiable hypervisors idea not being possible... what are your actual objections?
I'm not saying KVM is better / worse here... but let's cut the FUD at least.
I re-read some more web pages in the light of your comments, and I remain unconvinced that nerd pride wasn't at the root of the Linux kernel devs dismissal of Xen. It's happened before (Con Kolivas's patches for instance), so I don't think I'm saying anything radical.
IIRC, the hypervisor technology is the standard way to do virtualization since the mainframe days. I haven't heard anything remarkable about KVM to convince me that their hypervisor-less architecture is better.