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 |
** 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 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 |
|||
⚫ | |||
** Scheduler improvements ('''sched_ratelimit_us''' and '''tslice_ms'''; see "[[Credit_Scheduler#Xen4.2|new commands]]" and "[[Xen_4.2:_cpupools|Xen 4.2: CPUPOOLS]]") |
|||
⚫ | |||
* [[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: |
||
*** |
*** 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 |
* 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 |
* EFI (extensible Firmware Interface) support for hypervisor. Allows Xen to boot on machines which use EFI rather than a traditional BIOS |
||
* Support up to |
* 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 |
* 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
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