This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Compiling xenoprof

To: "Santos, Jose Renato G" <joserenato.santos@xxxxxx>
Subject: Re: [Xen-devel] Compiling xenoprof
From: David Carr <dc@xxxxxxxxx>
Date: Wed, 05 Apr 2006 11:19:59 -0500
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 05 Apr 2006 09:20:34 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <6C21311CEE34E049B74CC0EF339464B95849E1@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <6C21311CEE34E049B74CC0EF339464B95849E1@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0.7 (X11/20051013)

Thanks for your reply.  The steps below got the kernels to build.  I'm
not sure that everything is quite right yet though.  I can profile on
domain 0 and also run opcontrol --reset on the guests.  However running
"opcontrol --start" on the guests results in:

Using default event: GLOBAL_POWER_EVENTS:100000:1:1:1
Failed to open profile device: Operation not permitted
Using 2.6+ OProfile kernel interface.

Couldn't start oprofiled.
Check the log file "/var/lib/oprofile/oprofiled.log" and kernel syslog

It appears that this error is coming daemon/liblegacy/init.c or
This error only occurs on the guests (which are using the dom0 kernel). 
opcontrol --start suceeds on dom0.

Any ideas?

Thanks again,
David Carr

Install steps:

In Xen 3.0.0 source directory:

patch -p1 < xenoprof-2.0-xen-3.0.0.patch
patch -p1 < xenoprof-2.0-linux-2.6-sparse.patch
make kernels

This will ultimately fail. Then do:

In linux-2.6.12-xen0 directory:

patch -p2 < xenoprof-2.0-linux-2.6.12.patch
make kernels

This will ultimately fail. Then do:

In linux-2.6.12-xenU directory:

patch -p2 < xenoprof-2.0-linux-2.6.12.patch
make kernels

This will succeed. Then do:

make dist
sudo make install

In oprofile source directory:

patch -p1 < oprofile-0.9.1-xen.patch

Install oprofile normally

Santos, Jose Renato G wrote:

>You are right. This is not very clean.
>Yes, you need to do a "make" to create the xen0 and xenU trees
>before applying the patch in step c).
>If you configure the kernel with oprofile support (CONFIG_OPROFILE)
>before step c) you will probably get a compilation error when 
>you run make since the patch was not applied yet. You could either delay
>setting (CONFIG_OPROFILE) for after you apply patch "c" or you
>can apply the patch after you get the compilation error, and then
>run make again.
>It would be better if there was a "make" option to create the
>xen0/xenU trees without compiling them. Does anybody know if 
>there is such an option? I remember looking for it in the Makefile
>and not finding it, but this was a while ago.
>We are now working on getting the xenoprof code included in
>This should make life much easier for those wanting to use oprofile.
>>>-----Original Message-----
>>>From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
>>>[mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of 
>>>David Carr
>>>Sent: Tuesday, April 04, 2006 7:31 PM
>>>To: xen-devel@xxxxxxxxxxxxxxxxxxx
>>>Subject: [Xen-devel] Compiling xenoprof
>>>I'm having some trouble compiling Xen 3.0.0 with the 
>>>xenoprof patches.
>>>The xenoprof instructions say:
>>>  In order to run OProfile in Xen environments four patches 
>>>are needed:
>>>  a) xenoprof-2.0-xen-3.0.0.patch
>>>     Patch for Xen hypervisor.
>>>  b) xenoprof-2.0-linux-2.6-sparse.patch
>>>     Patch for Xenolinux. Contains oprofile architecture 
>>>specific driver 
>>>     for xen (Apply to linux-sparse tree in Xen source tree)
>>>  c) xenoprof-2.0-linux-2.6.12.patch
>>>     Patch for oprofile kernel module in linux 2.6.12. 
>>>Contain modifications
>>>     to generic oprofile driver code to support xen. (Apply 
>>>twice, once to 
>>>     dom0 and once to domU trees)
>>>Every thing goes fine until part c.  The linux-2.6.12-xen0 
>>>and linux-2.6.12-xenU directories are empty until you build 
>>>xen (and therefore can't be patched yet.)  Doing a make 
>>>world will populate these trees but also compiles everything.
>>>What is the proper sequence of patching and make commands to 
>>>build a xenoprof tree?
>>>David Carr
>>>Xen-devel mailing list

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>