Regarding Perfctr-Xen (see announcement below), some have requested author's
version of the published paper. It is available on my website:
Please, let me know what you think.
Also, I want to iterate my point regarding Perfctr-Xen vs XenoProf: XenoProf is
useful but has a number of limitations such as system-wide monitoring only.
Perfctr-Xen addresses those issues (as described in the paper), and enables
profiling functionality similar to XenoProf/Oprofile via higher level software
such as HPCToolkit which were shown to work. Perhaps, someone can add support
for OProfile, so that it can work via Perfctr-Xen, however, as of now, no such
support is available. Similarly, Xenoprof has no support for HPCToolkit, PAPI,
etc. because it was designed for OProfile. For this reason, Perfctr-Xen and
Xenoprof provide quite orthogonal solutions to the performance monitoring
The original Perfctr-Xen announcement:
I want to make an announcement about new performance monitoring framework.
Perfctr-Xen framework that enables per-thread performance analysis in Xen.
Current version is capable of properly virtualizing counters in both
paravirtualized and HVM modes. It is based on perfctr (which is a library and
kernel module for non-virtualized guests), ported to Xen, and extended to work
properly in virtualized environment. Both accumulative and interrupt modes
The advantage of Perfctr-Xen is that it does not require specific HVM
extensions which are needed for vpmu driver, can work in paravirtualized mode,
and it also quite universal: works with many common tools such as PAPI,
HPCToolkit, TAU PerfExplorer. It supports proper per-domain and per-thread
virtualization. It is light-weight, supports wide range of CPUs, does not
require save-and-restore for accumulative mode of counting (it uses counter
offsetting), avoids expensive hypercalls and counter re-programming in certain
circumstances (when threads are counting the same
type of events). In addition, some techniques are employed to account for the
overhead caused by the framework itself. This makes measurements quite accurate.
Perfctr-Xen consists of series of patches that need to
be applied to Xen, Linux, perfctr. They are available at:
The code is available under LGPL. It would be great to
discuss if and how it can be integrated into Xen
Xen-devel mailing list