Xen 4.2 Feature List: Difference between revisions

From Xen
Jump to navigationJump to search
(Sync with release notes)
No edit summary
Line 8: Line 8:


* Security:
* Security:
** Support for Intel Supervisor Mode Execution Protection (SEMP), which prevents the execution usermode of pages by the Xen hypervisor, making many application-to-hypervisor exploits much harder.
** Support for Intel Supervisor Mode Execution Protection (SEMP), which prevents the execution of usermode pages by the Xen hypervisor, making many application-to-hypervisor exploits much harder.
** Various Xen Security Modules ([[XSM]]) / Flask improvements. The XSM framework and the Xen Flask security module is an application of the [http://www.cs.utah.edu/flux/fluke/html/flask.html Flask] architecture to the Xen hypervisor.
** Various Xen Security Modules ([[XSM]]) / Flask improvements. The XSM framework and the Xen Flask security module is an application of the [http://www.cs.utah.edu/flux/fluke/html/flask.html Flask] architecture to the Xen hypervisor.
* Scalability:
* Scalability:
** Increased VM density for VDI use-cases
** Increased VM density for VDI use-cases
** up to 4095 Host CPUs for 64 bit hypervisor
** Up to 4095 Host CPUs for 64 bit hypervisor
** Up to 5TB host memory support for 64 bit hypervisor
** Up to 5TB host memory support for 64 bit hypervisor
** Up to 512 VCPUs per PV VM and 256 VCPUs per HVM VM
** Up to 512 VCPUs per PV VM and 256 VCPUs per HVM VM
** Support for multiple PCI segments
** Multiple PCI segment support
** Prefer oxenstored when present
** Prefer oxenstored when present
* Performance
* Performance
** PCI pass-through for Linux Guests
** AMD SVM DecodeAssist support
** AMD SVM DecodeAssist support
** Scheduler improvements
** Remus memory image compression
* EFI boot support for hosts using the 64 bit hypervisor
** Scheduler improvements ('''sched_ratelimit_us''' and '''tslice_ms'''; see "[[Credit_Scheduler#Xen4.2|new commands]]" and "[[Xen_4.2:_cpupools|Xen 4.2: CPUPOOLS]]")
* EFI boot support for the 64 bit hypervisor hosts
* [[XL]] improvements, [[XEND]] is formally deprecated
* [[XL]] improvements, [[XEND]] is formally deprecated
* Documentation improvements (e.g. man pages)
* Documentation improvements (e.g. man pages)
Line 30: Line 28:


== Detailed List ==
== Detailed List ==

=== General ===
=== General ===
* Documentation improvements (e.g. man pages)
* Documentation improvements (e.g. man pages). Documentation
* Lots of bug fixing of course.
* Lots of bug fixing of course.


Line 38: Line 37:
** For a feature comparison between [[XL]] and [[XEND]] see "[[XL vs Xend Feature Comparison]]".
** For a feature comparison between [[XL]] and [[XEND]] see "[[XL vs Xend Feature Comparison]]".
** lots of [[XL]] improvements, e.g.
** lots of [[XL]] improvements, e.g.
*** More complete support for toolstack operations. Includes all basic and day to day functionality and many advanced features.
*** More feature complete
*** Support for Network driver domains in [[XL]]
*** Support for Network driver domains in [[XL]]
*** Improved support for PCI pass-through (see "[[Xen_4.2:_xl_and_pci_pass-through|Xen 4.2: XL and PCI pass-through]]")
*** Improved support for PCI pass-through (see "[[Xen_4.2:_xl_and_pci_pass-through|Xen 4.2: XL and PCI pass-through]]")
Line 44: Line 43:
** The libxl API is now stable.
** The libxl API is now stable.
** The libxl featureset has been greatly expanded:
** The libxl featureset has been greatly expanded:
*** Many slow running operations can now be done asynchronously.
*** Long running operations can now be done asynchronously.
*** Improved event handling subsystem.
*** Improved event handling subsystem.
* Remus compression (compression of memory image improves performance)
* Remus compression (compression of memory image improves performance)
* Prefer oxenstored when available. Oxenstored is faster, more scalable and more reliable than the C xenstored. In particular the transaction model in oxenstored does not involve taking a complete copy of the database and aborting on any (even non-conflicting) other change. For more detail on the design, implementation and a performance comparison see [http://gazagnaire.org/pub/GH09.pdf this paper].
* Prefer oxenstored when available. Oxenstored is faster, more scalable and more reliable than the C xenstored. In particular the transaction model in oxenstored does not involve taking a complete copy of the database and aborting on any (even non-conflicting) other change. For more detail on the design, implementation and a performance comparison see [http://gazagnaire.org/pub/GH09.pdf this paper].
* Support for upstream qemu; nearing feature parity (non default still, but we want people to be testing it)
* Support for upstream qemu
** Used by default when required for PV guests (e.g. qdisk backend or VFB support)
* Added libvchan to xen mainline(cross domain comms)
** Optional for use with HVM guests.
* Added <tt>libvchan</tt> interdomain communication library.


=== Xen ===
=== Xen ===
* Improvements to paging and sharing, enabling higher VM density for VDI use-cases
* Improvements to paging and sharing, enabling higher VM density for VDI use-cases
* EFI (extensible Firmware Interface) support for HV (i.e. if I have a machine that has EFI, I can use Xen on it)
* EFI (extensible Firmware Interface) support for hypervisor. Allows Xen to boot on machines which use EFI rather than a traditional BIOS
* Support up to 256 Host CPUs for 64 bit h/v (from 128)
* Support up to 4095 Host CPUs for 64 bit h/v (from 256)
* Support dom0 kernels compressed with xz
* Support for dom0 kernels compressed with xz
* Per-device interrupt remapping (increases scalability)
* Per-device interrupt remapping (increases scalability)
* Support for pvhvm guest direct pirq injection (Performance improvement for PCI passthrough for Linux Guests)
* Support for [[Xen_Overview#PV_on_HVM|PVHVM]] guest direct physical IRQ injection (improves performance for PCI passthrough to Linux Guests)
* Intel SMEP (Supervisor Mode Execution Protection) support
* Intel SMEP (Supervisor Mode Execution Protection) support
* Mem event stuff? (Allows to externally observe what guests are up to and can be used for external virus checking - not sure what the right terminology is)
* Multiple PCI segment support
* Multiple PCI segment support
* Added xsave support(floating point)
* Added xsave support (support for newer floating point hardware features)
* Lots of XSM / Flask fixes (security)
* Lots of XSM / Flask fixes (security)
* AMD SVM "DecodeAssist" support (AMD CPU feature that avoids emulation and increases performance)
* AMD SVM "DecodeAssist" support (AMD CPU feature that avoids emulation and increases performance)
Line 67: Line 67:
** Enhanced MCA support to include more failure types
** Enhanced MCA support to include more failure types
** APEI support (ACPI Platform Error Interface)
** APEI support (ACPI Platform Error Interface)
* Credit Scheduler [[Credit_Scheduler#Xen4.2|tuning parameters]:
* New scheduler parameters [http://blog.xen.org/index.php/2012/04/10/xen-4-2-new-scheduler-parameters-2/]
** '''sched_ratelimit_us'''
** '''tslice_ms'''
* [[Xen_4.2:_cpupools|cpupools]]


=== Removed Functionality ===
=== Removed Functionality ===
Line 74: Line 77:
* The IA64 port was removed (unmaintained)
* The IA64 port was removed (unmaintained)
=== Deprecated Functionality ===
* The [[XEND]] toolstack is now deprecated.

=== Xen Development Support ===
=== Xen Development Support ===
* Can build with clang
* Can build with clang
Line 79: Line 85:
* Lots of xentrace improvements
* Lots of xentrace improvements
* update ocaml bindings and make them usable by xapi (which previously had it's own fork of the same codebase)
* update ocaml bindings and make them usable by xapi (which previously had it's own fork of the same codebase)



== Also See ==
== Also See ==

Revision as of 12:35, 7 September 2012

Icon Info.png This is a preliminary list of Xen 4.2 features


Other Xen Releases

See Xen Release Features for a comparison of the featureset of different Xen releases.

High Level features

  • Security:
    • Support for Intel Supervisor Mode Execution Protection (SEMP), which prevents the execution of usermode pages by the Xen hypervisor, making many application-to-hypervisor exploits much harder.
    • Various Xen Security Modules (XSM) / Flask improvements. The XSM framework and the Xen Flask security module is an application of the Flask architecture to the Xen hypervisor.
  • Scalability:
    • Increased VM density for VDI use-cases
    • Up to 4095 Host CPUs for 64 bit hypervisor
    • Up to 5TB host memory support for 64 bit hypervisor
    • Up to 512 VCPUs per PV VM and 256 VCPUs per HVM VM
    • Support for multiple PCI segments
    • Prefer oxenstored when present
  • Performance
    • AMD SVM DecodeAssist support
    • Scheduler improvements
  • EFI boot support for hosts using the 64 bit hypervisor
  • XL improvements, XEND is formally deprecated
  • Documentation improvements (e.g. man pages)
  • RAS:
    • Enhanced MCA support to include more failure types
    • APEI support (ACPI Platform Error Interface)

Detailed List

General

  • Documentation improvements (e.g. man pages). Documentation
  • Lots of bug fixing of course.

Tools

  • XL is now default toolstack and XEND is formally deprecated
    • For a feature comparison between XL and XEND see "XL vs Xend Feature Comparison".
    • lots of XL improvements, e.g.
      • More complete support for toolstack operations. Includes all basic and day to day functionality and many advanced features.
      • Support for Network driver domains in XL
      • Improved support for PCI pass-through (see "Xen 4.2: XL and PCI pass-through")
  • libxl improvements
    • The libxl API is now stable.
    • The libxl featureset has been greatly expanded:
      • Long running operations can now be done asynchronously.
      • Improved event handling subsystem.
  • Remus compression (compression of memory image improves performance)
  • Prefer oxenstored when available. Oxenstored is faster, more scalable and more reliable than the C xenstored. In particular the transaction model in oxenstored does not involve taking a complete copy of the database and aborting on any (even non-conflicting) other change. For more detail on the design, implementation and a performance comparison see this paper.
  • Support for upstream qemu
    • Used by default when required for PV guests (e.g. qdisk backend or VFB support)
    • Optional for use with HVM guests.
  • Added libvchan interdomain communication library.

Xen

  • Improvements to paging and sharing, enabling higher VM density for VDI use-cases
  • EFI (extensible Firmware Interface) support for hypervisor. Allows Xen to boot on machines which use EFI rather than a traditional BIOS
  • Support up to 4095 Host CPUs for 64 bit h/v (from 256)
  • Support for dom0 kernels compressed with xz
  • Per-device interrupt remapping (increases scalability)
  • Support for PVHVM guest direct physical IRQ injection (improves performance for PCI passthrough to Linux Guests)
  • Intel SMEP (Supervisor Mode Execution Protection) support
  • Multiple PCI segment support
  • Added xsave support (support for newer floating point hardware features)
  • Lots of XSM / Flask fixes (security)
  • AMD SVM "DecodeAssist" support (AMD CPU feature that avoids emulation and increases performance)
  • RAS:
    • Enhanced MCA support to include more failure types
    • APEI support (ACPI Platform Error Interface)
  • Credit Scheduler [[Credit_Scheduler#Xen4.2|tuning parameters]:
    • sched_ratelimit_us
    • tslice_ms
  • cpupools

Removed Functionality

  • ACM (alternative XSM to Flask) was removed (unmaintained)
  • Removed vnet (unmaintained)
  • The IA64 port was removed (unmaintained)

Deprecated Functionality

  • The XEND toolstack is now deprecated.

Xen Development Support

  • Can build with clang
  • Added "make deb" target
  • Lots of xentrace improvements
  • update ocaml bindings and make them usable by xapi (which previously had it's own fork of the same codebase)

Also See

  • Category:Xen 4.2 - Contains articles and tutorials related to new functionality in Xen 4.2