[Oneiric-Topic] Revisit Xen support

Soren Hansen soren at linux2go.dk
Mon Apr 4 11:34:24 UTC 2011

2011/4/4 Clint Byrum <clint at ubuntu.com>:
> Maybe we should ask though. Adding Xen back in means less resources
> for KVM, so the KVM users' opinions matter quite a bit.

The very short version: I'm fine with Ubuntu getting Xen support again,
but I don't think it needs to be in main.

We chose KVM as our preferred, supported hypervisor a long time ago.
We've been telling people for years that it's what they should be using,
and lots of great effort has been put into the integration work. The
arguments against KVM were mostly about the hardware requirements, but
if we could live with that in 2007, I'd be surprised if we couldn't
today, since the percentage of server hardware that doesn't work with
KVM has severely declined.

Any decision will have supporters and opponents, and I firmly believe
that making a decision is the right thing to do. I believe there's a lot
of value (for everyone involved) in having firm answers to even tough
questions. Ubuntu, for instance, is a free operating system. No-one has
to ask over and over whether it's still free, because we've been very
clear from the beginning that that's how we roll. Similarly, you won't
find any closed-source applications on an Ubuntu CD. If you're wanting
to distribute closed source applications, don't bother asking if you can
put it on one of the Ubuntu CD's. No matter how popular your software
is, or how many people vote for it on a mailing list or on Ubuntu
Brainstorm, it's not going to happen. We're also not going to switch to
the FreeBSD kernel on a whim. Every decision we make defines us, whether
it's an additive or subtractive one. Every decision we fail to make,
weakens us.

When we chose KVM as our preferred hypervisor, it wasn't a decision to
use it in Hardy and revisit that decision every release following it
(that would have made it almost a non-decision). It wasn't a decision to
run this or that benchmark every 6 months, and whichever was in the lead
would be the preferred, supported hypervisor that we'd go out and
praise, and the rest would be deprecated until 6 months later when the
numbers would be slightly different.  We made the decision even though
KVM was still quite young, and none of the other major distros were
shipping it.  We made the decision to ship it, support it, stand behind
it, and help it grow.  Ubuntu's hypervisor was KVM.

I happily stand by that decision.

I believe KVM's design is superior.  KVM immediately benefits from
improvements made to the Linux kernel. If power management improves in
the Linux kernel, your KVM host's power management improves. If the
scheduler improves, KVM benefits. If memory management improves, KVM

KVM is part of the Linux kernel, while Xen has its own kernel. I'm not
talking about the dom0, I'm talking about the Xen hypervisor on top of
which the dom0 and domU's run. This difference means that many
improvements in Linux need to be accommodated for or mimicked in Xen
before you get the benefits there[1]. To use KVM, you load a module that
turns your regular Linux kernel into a hypervisor. To run Xen, you boot
a completely different kernel on top of which you run a dom0. For the
most part, you don't see the difference, because distributors have put a
lot of work into making this change seamless, but effectively, you're
not running Linux anymore as your kernel. Anthony Liguori (one of the
KVM and QEmu developers) said it quite well[2]: "The whole situation is
somewhat absurd though. It's like if the distributions shipped a NetBSD
kernel automatically and switched to using it when you wanted to run a
LAMP stack." Linux is a fine hypervisor on its own. It may not be
perfect, but I'd prefer we focus on identifying and fixing those issues

If someone thinks Xen is sufficiently cool, I'd encourage them to put
some effort getting it into shape in Ubuntu. I don't think we should
divert any of the existing attention on kvm/libvirt/friends to Xen. I
don't think we can afford it.

[1]: This page on power management with Xen is a good example:

[2]: http://blog.codemonkey.ws/2008/05/truth-about-kvm-and-xen.html

Soren Hansen        | http://linux2go.dk/
Ubuntu Developer    | http://www.ubuntu.com/
OpenStack Developer | http://www.openstack.org/

More information about the ubuntu-server mailing list