Difference between revisions of "Xen Kernel Feature Matrix"

From Xen
(Xen Kernel Integration: Merge info from Dom0 Kernel Versions)
Line 17: Line 17:
 
=== Xenlinux ===
 
=== Xenlinux ===
 
Historically Xen-Linux-Integration was first developed separate from the Linux kernel and resulted in a set of patches that had to be applied to the vanilla kernel.
 
Historically Xen-Linux-Integration was first developed separate from the Linux kernel and resulted in a set of patches that had to be applied to the vanilla kernel.
  +
Those are the Xen patches from the 'original' linux-2.6.18-xen repository from xen.org. Some distros have these 2.6.18 patches forward-ported to newer kernels. These patches are sometimes referred as "Xenified" patches.
 
  +
Those are the Xen patches from the 'original' linux-2.6.18-xen repository from xen.org. Some distros have these 2.6.18 patches forward-ported to newer kernels, most notably SLES/OpenSUSE. These patches are sometimes referred as "Xenified" patches.
  +
  +
This was the default dom0 kernel in all Xen 3.x releases, up to and including Xen 3.4.x.
   
 
=== pvops ===
 
=== pvops ===
Line 23: Line 26:
 
pvops is included in the mainline/standard Linux kernel.
 
pvops is included in the mainline/standard Linux kernel.
 
This is the new style of Xen support, rewritten to be acceptable to upstream Linux kernel.
 
This is the new style of Xen support, rewritten to be acceptable to upstream Linux kernel.
  +
pv_ops kernels require Xen >= 4.0.
   
 
pvops ''domU'' support in the standard Linux kernel has started with 2.6.24 and anything newer than 2.6.32.10 should be fairly complete and stable for most use cases.
 
pvops ''domU'' support in the standard Linux kernel has started with 2.6.24 and anything newer than 2.6.32.10 should be fairly complete and stable for most use cases.
Line 29: Line 33:
   
 
For details please read [[[XenParavirtOps]]].
 
For details please read [[[XenParavirtOps]]].
  +
  +
Some help and tips for migrating from linux-2.6.18 to pvops dom0 kernel available from this wiki page: [[Migrate_from_Linux_2.6.18_to_2.6.31_and_higher]]
   
 
== Features explained ==
 
== Features explained ==

Revision as of 02:44, 12 December 2011


Xen Kernel Features

This page lists various features supported by different Xen enabled Linux kernels.

[Updated Oct 26th 2011]

Xen Kernel Integration

There are two ways to get to a Xen enabled Linux kernel. The old Xenlinux and the newer pvops.

Xenlinux

Historically Xen-Linux-Integration was first developed separate from the Linux kernel and resulted in a set of patches that had to be applied to the vanilla kernel.

Those are the Xen patches from the 'original' linux-2.6.18-xen repository from xen.org. Some distros have these 2.6.18 patches forward-ported to newer kernels, most notably SLES/OpenSUSE. These patches are sometimes referred as "Xenified" patches.

This was the default dom0 kernel in all Xen 3.x releases, up to and including Xen 3.4.x.

pvops

Paravirt_ops is the upstream Linux framework for running Linux paravirtualized on a hypervisor (Xen). pvops is included in the mainline/standard Linux kernel. This is the new style of Xen support, rewritten to be acceptable to upstream Linux kernel. pv_ops kernels require Xen >= 4.0.

pvops domU support in the standard Linux kernel has started with 2.6.24 and anything newer than 2.6.32.10 should be fairly complete and stable for most use cases.

pvops dom0 support is included in the upstream (2.6.37 and higher) Linux kernel.

For details please read [[[XenParavirtOps]]].

Some help and tips for migrating from linux-2.6.18 to pvops dom0 kernel available from this wiki page: Migrate_from_Linux_2.6.18_to_2.6.31_and_higher

Features explained

  • backend driver = driver required in the Xen dom0 kernel
  • frontend driver = driver required in the Xen domU guest kernel
  • pciback and pcifront = drivers required for PCI passthrough. These drivers are not related to using PCI devices in dom0!
  • usbback and usbfront = drivers required for USB passthrough. These drivers are not related to using physical usb devices in dom0!
  • scsiback and scsifront = drivers required for PVSCSI passthrough. These drivers are not related to using SCSI devices in dom0!

See XenDom0Kernels wiki page for more information about the various kernels and for instructions where to get them.

Links to more information about various features:

NOTE! This wiki page is updated when new features are developed/ported, so remember to check back here every now and then!

List of Xen kernel source trees/repositories:

  1. xen.org linux-2.6.18-xen (Xenlinux)
  2. Citrix Xen-Server / Xen Cloud Platform (XCP) Linux 2.6.27 and 2.6.32 (Xenlinux)
  3. Novell SLES11 SP1 Linux 2.6.32 forward-ported patches by Andrew Lyon (Xenlinux)
  4. kernel.org Jeremy's xen.git xen/stable-2.6.32.x (pvops)
  5. kernel.org Linus vanilla/mainline Linux 2.6.32 - 2.6.35 (pvops)
  6. kernel.org Linus vanilla/mainline Linux 2.6.36 (pvops)
  7. kernel.org Linus vanilla/mainline Linux 2.6.37 (pvops)
  8. kernel.org Linus vanilla/mainline Linux 3.1.0 (pvops)

Source tree features:

1 2 3 4 5 6 7
Xen PV domU (guest) support (including blkfront, netfront frontend drivers) x x x x x x x
Xen dom0 support (including blkback, netback backend drivers) x x x x
blktap1 backend driver x x x
blktap2 backend driver x x x x
pciback backend driver x x x x
pcifront frontend driver x x x x x
pvscsi backend driver x x x
pvscsi frontend driver x x x
pvusb backend driver x x
pvusb frontend driver x x
pv-on-hvm (pvhvm) drivers for hvm Linux guests x x x x x
blkfront vbd (guest xvd disk) online resize x x x x x

List of binary Xen kernels included in Linux distributions:

  1. Redhat RHEL5 kernel-xen Linux 2.6.18 (Xenlinux)
  2. Novell SLES10 Linux 2.6.16 (Xenlinux)
  3. Novell SLES11 Linux 2.6.27 (Xenlinux)
  4. Novell SLES11 SP1 Linux 2.6.32 (Xenlinux)
  5. Debian Etch Linux 2.6.18-6-xen (Xenlinux)
  6. Debian Lenny Linux 2.6.26-2-xen (Xenlinux)
  7. Debian Lenny Linux 2.6.26-2-686-bigmem (pvops)
  8. Debian Squeeze Linux 2.6.32-xen (pvops dom0 capable)
  9. Debian Squeeze Linux 2.6.32-amd64 and -686-bigmem (pvops)
  10. Fedora 12 Linux 2.6.32, Fedora 13 Linux 2.6.33 (pvops)
  11. Redhat RHEL6 Linux 2.6.32
  12. Fedora Core 16 and Ubuntu 11.10 (pvops, 3.0 kernel)
1 2 3 4 5 6 7 8 9 10 11
Xen PV domU (guest) support (including blkfront, netfront frontend drivers) x x x x x x x x x x x
Xen dom0 support (including blkback, netback backend drivers) x x x x x x x
blktap1 backend driver x x x x x x
blktap2 backend driver x x
pciback backend driver x x x x x x x
pcifront frontend driver x x x x x x x
pvscsi backend driver x
pvscsi frontend driver x
pvusb backend driver x
pvusb frontend driver x
pv-on-hvm drivers for hvm linux guests x x x x x

If you find mistakes or missing features from this page please send an email to xen-users or xen-devel mailinglists!

To subscribe to xen-users mailinglist check: http://lists.xensource.com/mailman/listinfo/xen-users/ . xen-users mailinglist archives can be found from: http://lists.xensource.com/archives/html/xen-users/