LWN.net Logo

Xen again

Xen again

Posted Jun 4, 2009 23:05 UTC (Thu) by caitlinbestler (guest, #32532)
Parent article: Xen again

Actually Dom0 is not "the hypervisor portion of the Xen System", it is the hypervisor designated default owner of devices.

To be even more precise, Device Domains (or DomDs) are the owners of specific devices. Dom0 is the traditional and default DomD.

The separation of Device control from *the* hypervisor is one of the key strengths of the Xen architecture because it keeps the true Hypervisor (on which *all* other kernels rely) very stable. I suspect at least part of the opposition to "Xen Dom0" is not actually about "Dom0" but to the fact that the Xen Hypervisor is *not* Linux.

But focusing on what DomDs/Dom0 really requires the following pieces:

  1. The actual/native device driver(s).
  2. The "backend" drivers that support the Xen "frontend" drivers.
  3. Glue to connect the backend drivers to the actual drivers.
  4. The ability to configure that glue, preferably from user mode.

There is no particular reason why a Device backend has to be implemented in Linux. But Linux is particularly inviting for reasons #1,#3 and #4. Especially reason #1.

Understood, the "ABI" question is really a distraction. It is actually the Backend drivers that have stable ABIs, not Linux. The fact that Linux insists that kernel modules count as "Linux" is a Linux issue. People who develop those modules would really rather be free to follow their own coding standards, etc. Being GPL and following coding standards is reasonable, but having your module's interfaces being viewed as though they were Linux interfaces is a totally different issue.

So the real question is what kernel capabilities do backend modules truly need, and are these legitimate generic capabilities rather than Xen inflicting itself on the kernel?

Ultimately these relate to the ability to communicate with other Virtual Machines through shared memory and delegation of PCI functions and MSI-X interrupts. If you accept the concept that a non-Linux Hypervisor may partition a machine into physical machines, then is there any legitimate reason why mainline Linux should not be usable for Device controlling Domains?

Rejecting this application of Linux because Linux would rather also be the Hypervisor strikes me as taking your baseball home because the team wants somebody else to pitch. The true spirit of Open development would allow users to decide on Hypervisor versus Device Control separately rather than forcing them to lock the two decisions together.


(Log in to post comments)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds