Monthly Archives: February 2009

Announcing: Xen / paravirt_ops git tree

From Jeremy Fitzhardinge in xen-devel:

Over the last week I’ve been migrating the Xen paravirt_ops tree from a Mercurial patch-queue based model to a git tree.  This makes it easier for me to work with the various Linux kernel subsystem maintainers in upstreaming patches, but it should also make it easier for people in the Xen community to contribute to mainline Xen development.

At the moment the git tree is hosted on at


In general, the Xen parts of the tree are based on tip.git (…)

Interesting topic branches are:

Core Xen stuff.  Almost all merged upstream already.
/dev/evtchn driver
Changes to hook dom0 apic stuff into the platform apic code xen/dom0/backend/blkback xen/dom0/backend/core xen/dom0/backend/netback
Backend driver support
Core dom0 support code
Updates to mtrr driver
Hooks into the pci code, for both pcifront and dom0 xen/dom0/swiotlb
Swiotlb hooks
Updates to /proc/xen for dom0 support xen/fs
/proc/xen filesystem code (excl dom0-specific parts) xen/hg-queue-import
Raw dump from original hg mq patch queue.  Mostly merged into
appropriate places in git, but still here for reference.
Interrupt changes
Start of support for pvhvm drivers.
Xenbus code

If you want to get started, either xen/dom0/hackery or xen/master are the places to start;

Master dom0 branch.  This is all the interesting dom0-related topic
branches merged together, and is a superset of xen/master.
Master domU branch, with everything interesting merged in.  This is
likely to be more stable and closer to upstream than dom0/hackery.

If you want to do development against this tree, branch off the most appropriate topic branch and get hacking, and tell me when you have something you want me to pull.  I think I’ll adopt a fairly broad policy for hosting people’s topic trees, and merging into xen/master and/or xen/dom0/hackery if the trees are at least a no-op (ie, don’t break things).

At the moment I’m upstreaming everything via the x86/tip.git tree (;a=summary),
but I expect that I’ll start sending Xen-specific changes directly to Linus via this tree (obviously anything interacting with the x86 arch code will need to be coordinated with the x86 maintainers).

Xen Summit Europe at LinuxTAG – Call for Topics

Here is the current proposed schedule for the Xen Summit Europe at LinuxTAG event in June – we will have a 1 Day track on Saturday June 27, 2009 with the following schedule:

Xen Hypervisor Track
10 am – 10:45 am ENGLISH -> (Ian Pratt) Open Source Virtualization with Xen Hypervisor
11 am – 11:30 am ? ->
11:30 – 12:00 pm ? ->
12:00 – 12:30 pm ? ->
1:30 – 2:00 pm ? ->
2:00 – 2:30 pm ? ->
2:30 – 3:00 pm ? ->
3:30 – 4:00 pm ? ->
4:00 – 4:30 pm ? ->
4:40 – 5:00 pm ? ->

This gives us a total of 10 speaking sessions with 1 already taken by Ian Pratt. If you are interested in speaking at Xen Summit Europe, please send an email with your abstract to I don’t have final deadline dates from LinuxTAG on abstract submissions so please submit within the next month, just in case there is a deadline.

Finally, I will be looking to see if we can host a party on Friday the 26th for an informal get together. More on that later…

Hypervisor profiling using GCOV

From Tej Bewith on xen-devel:

gcov is a test coverage program. generally used with GCC to analyze programs to help create more efficient, faster running code and to discover untested parts of your program. Software developers also use coverage testing in concert with testsuites,  to make sure software is actually good enough for a release

Our efforts on the same line added the gcov(gcc) profiling support for hypervisor only. Current code base support xen-3.3.onwards, x86_32 and gcc 3.4 to 4.3.

xen-patch: code for hypervisor which populate the gcov_info (gcc 3.4
onward) with data file information, base code is taken from added xen support and a way to interact with linux since hypervisor itself cannot populate the /proc filesystem.

linux-patch: code for linux kernel basically enquire the hypervisor part to revert all data file information and populate the /proc/xen/gcov with data and graph file (optional)

command-line/modules parameter:
1. xen-gcov-link: if set, it creates the *.c and *.gcno linking under /proc/xen/gcov, else to run gcov/lcov we have to create manually linking.
2. xen-gcov-update: update the data files after xen-gcov-update secs, default value is 5sec… e.g while running a test suite, requires lower value of xen-gcov-update.
tunable xen-gcov-update exist at /proc/sys/xen
usage: echo <num> >/proc/sys/xen/xen-gcov-update

Running lcov straight-a-way could be problematic because lcov is written to see profiling info @/proc/gcov. To accomodate /proc/xen/gcov edit the config file /etc/lcovrc parameter as lcov_gcov_dir = /proc/gcov to /proc/xen/gcov and perform modprobe xen-gcov-proc.
We are having patches to accomodate both but changing config file could be a better options. Still if someone need patch please free to mail me

YES, We are aware that gcov profiling is quite basic profiling concept, but its a begning from our end to make xen hypervisor best and robust, in future we will be working on changes required for 64bit hypervisor, older xen versions (if required), PERFMON features of Modern CPU’s.

Comments, reports, suggestions, and any other types of feedback is more than welcome

-tej & team

Xen Summit At Oracle – Next Week

The Xen Summit at Oracle is next week and everyting is ready to go including the Agenda, Abstracts, Speaker Profiles, and the Party.  All that’s missing is you!

Please register at for the low price of $215.

Highlights of this event include presentations from:

  • Ian Pratt – Citrix and Project Founder
  • Dan Magenheimer – Oracle
  • Don Dugger – Intel
  • Jeremy Fitzhardinge – Citrix (PVOps Update)
  • Ben Serebrin – AMD
  • and many others….