Monthly Archives: September 2012

XenSummit Videos: Xen & Apache CloudStack, Xen & OpenStack

This is another post in a series pointing you to noteworthy XenSummit presentations. This week I will be covering Xen integrations with Apache Cloudstack and OpenStack:

  • Xen and CloudStack: Ewan Mellor describes the CloudStack project and explains why Xen is the pre-eminent hypervisor in public clouds today. He describes the changes coming in CloudStack in the next 12 months, and how they are going to change the way that Xen is consumed in public and private clouds.
  • Openstack, Xen and XCP: John Garbutt takes a look at how OpenStack and Xen work together, and shows how you can get more involved.

Xen and CloudStack

Also see: Presentation

Openstack, Xen and XCP

Also see: Presentation
Related presentations: Xen Cloud Platform Update

Tracing with Xentrace and Xenalyze

Figuring out “what’s going on?” is always something very important. For example, knowing what processes were running on which processors can be very useful if you are doing OS development and/or performances evaluation. If applied to virtualization, that turns into figuring out what VMs were running on which processors (or, better, what virtual CPUs were running on which physical CPUs), during the execution of some workload.

When using Xen as hypervisor, all that is possible by means of two tools: xentrace and xenalyze.


Xen has a number of trace points at key locations to allow developers to get a picture of what is going on inside of Xen. When these trace points are enabled, Xen will write the tracing information into per-cpu buffers within Xen. Then a program in dom0, called xentrace, which sets up and enables tracing, and periodically reads these buffers and writes them to disk. Xentrace is part of the tree and will come with every distribution of Xen. A very basic, but already quite useful invocation of the tool is the following:

# xentrace -D -e EVT_MASK > trace_file.bin &
# killall xentrace

where EVT_MASK can be one of the following values:

0x0001f000          TRC_GEN
0x0002f000          TRC_SCHED
0x0004f000          TRC_DOM0OP
0x0008f000          TRC_HVM
0x0010f000          TRC_MEM
0xfffff000          TRC_ALL

These are Event Classes. Using one of them tells xentrace to gather information about a group of events. For example 0x0002f000 can be used to obtain all the events related to vCPU scheduling. There are other options available, and it is also possible to achieve a finer grain control on the events (for complete list, refer to xentrace -? and/or man xentrace.)


Unlike xentrace, xenalyze is an external tool, available from its own source code repository (see below). It has been publicly released in 2009 by George Dunlap, and the latest version is always available in this mercurial repository: . Getting and installing xenalyze is really worthwhile. There also are slides and videos explaining what it is and what it does, so go check them out! :-)

Continue reading

XenSummit Sessions: New PVH virtualisation mode for ARM Cortex A15/ARM Servers and x86

This is the second blog post in a series pointing you to noteworthy XenSummit presentations. This week I will be covering seemingly unrelated topics – but you will realize they are not unrelated:

  • The new PV in an HVM container virtualization mode (or PVH) proposed and developed by Mukesh Rathor, Oracle: this is a new virtualization mode called PVH aimed to be part of Xen 4.3. PVH guests are essentially PV guests using PV drivers for boot and I/O. Otherwise it uses HW virtualization extensions, without the need for emulation. PVH has the potential to combine the best trade-offs of all Xen virtualization modes, while simplifying the Xen architecture significantly. First patches are going into xen-unstable as we speak and functionality should be at least available as a preview (but hopefully ready for prime-time) in Xen 4.3.
  • An update on the Xen on ARM port for Servers: Stefano Stabellini (Citrix) is presenting the state of his work ARM work for the Cortex A15, design goals (and what we achieved), architecture and remaining challenges. Interestingly, the approach taken for Xen on ARM is the same as Mukesh has taken for PVH. Even if you are not interested in ARM (and merely want to understand PVH a bit more), it is worth watching this session. Stefano is upstreaming remaining patches to Linux currently, and started working on testing his port on real hardware. Ian Campbell has just started porting the code to ARM v8. Stay tuned!
  • Panel on ARM Servers: Representatives from ARM, Canonical, Calxeda and Citrix discuss the potential of virtualization for ARM based servers. I added this video, to provide context for Stefano’s and Ian Campbells work.

PVH: PV Guest in HVM Container

Also see: Presentation

Xen on ARM Cortex A15

Continue reading

Xen Document Day: Sept 24th, 2012

We have another Xen document day come up next Monday. Xen Document Days are for people who care about Xen Documentation and want to improve it. Everybody who can and wants contribute is welcome to join!

For a list of items that need work, check out the community maintained TODO and wishlist. We also have a few beginners items in the list. Of course, you can work on anything you like: the list just provides suggestions.

See you on IRC : #xendocs @ freenode !

Xen 4.2.0 Released is pleased to announce the release of Xen 4.2.0. The release is available from the download page:

This release is the culmination of 18 months and almost 2900 commits and almost 300K lines of code of development effort, by 124 individuals from 43 organizations.

New Features

The release incorporates many new features and improvements to existing features. There are improvements across the board including to Security, Scalability, Performance and Documentation.

XL is now the default toolstack: Significant effort has gone in to the XL tool toolstack in this release and it is now feature complete and robust enough that we have made it the default. This toolstack can now replace xend in the majority of deployments, see XL vs Xend Feature Comparison. As well as improving XL the underlying libxl library has been significantly improved and supports the majority of the most common toolstack features. In addition the API has been declared stable which should make it even easier for external toolstack such as libvirt and XCP’s xapi to make full use of this functionality in the future.

Large Systems: Following on from the improvements made in 4.1 Xen now supports even larger systems, with up to 4095 host CPUs and up to 512 guest CPUs. In addition toolstack feature like the ability to automatically create a CPUPOOL per NUMA node and more intelligent placement of guest VCPUs on NUMA nodes have further improved the Xen experience on large systems. Other new features, such as multiple PCI segment support have also made a positive impact on such systems.

Continue reading