Monthly Archives: June 2009

Xen 3.4 Source Code Overview

Xen Community:

I often see requests from various people for information on where certain features are located within the Xen source code. To assist those people, I have been working on (and still am) a Xen Source Code Guide for the newly released Xen 3.4 source code.

I expect to have all the source code files listed and described by the end of this week and then will start working on short summaries of each directory. The current version of the guide is listed below (I am always open to assistance from the community on this effort):

Feel free to send me any edits or updates. Thanks. Project Mission

Like any organization the project has a mission statement. For those of you who have never seen it, I thought I would share it today. I am planning to add it to the website and thought a little extra promotion via the blog would be useful.

  • Build the industry standard open source hypervisor
    • Core “engine” that is incorporated into multiple vendors’ products
  • Maintain Xen’s industry-leading performance
    • Be first to exploit new hardware acceleration features
    • Help OS vendors paravirtualize their OSes
  • Maintain Xen’s reputation for stability and quality
    • Security must now be paramount
  • Support multiple CPU types; big and small systems
    • From server to client to mobile phone
  • Foster innovation
  • Drive interoperability

Xen Development Tree (Linux Version) Update

The Xen Community has completed a discussion around the selection of the proper tree for future development activities;

from Keir Fraser on June 4th  (full thread)…

With 3.4 out the door it is time to revisit the state of our Linux repositories. Currently we have a number of trees in various states of maintenance: – linux-2.6.18-xen.hg: the ‘original’ tree. Still maintained, used and tested but increasingly long in the tooth. – ext/linux-2.6.27-xen.hg: a snapshot of opensuse’s kernel port. This clones tree is not maintained or tested. – XCI/linux-2.6.27.git: a forward port of the Xen patches to 2.6.27. Maintained as part of XCI project. – Jeremy’s pv_ops patches against maintained, (somewhat) tested, but incomplete.

It is probably time to kill the 2.6.18 tree, or at least stop active development within it. It is increasingly a kludged collection of backports of more recent kernel patches, and is also missing a lot of drivers for more modern hardware.

Our proposal is to move XCI’s linux-2.6.27 tree out of the XCI subproject and make it the main user tree. Development and automated testing would occur on that tree and of course on Jeremy’s pv_ops patchset (which we want to completely move onto at some point in the future).

The community has decided to move all development to “Jeremy’s pv_ops tree” as the new platform. Jeremy’s tree contains the 2.6.29 Linux kernel with associated patches and will end the Xen’s use of 2.6.18 on all future releases. The tree switch is anticipated to be complete by the middle of next week and I will post the information on this blog.

As I posted late last week, Xen is still engaged with the team to move pv_ops Dom0 into upstream.

Xen Support Updates

For those of you looking for more assistance with a particular Domain0 or DomainU guest operating system, I have created a new document that lists the OS and links to support sites.

I have also added a new link on the Support pages to the Pre-Built DomU sites that currnently create images for your leverage.

As the document and Wiki page are “living” entities, please feel free to edit the Wiki page with more information or send me new information for the document.