WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Compiling xenoprof

To: "Santos, Jose Renato G" <joserenato.santos@xxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Compiling xenoprof
From: David Carr <dc@xxxxxxxxx>
Date: Wed, 05 Apr 2006 12:09:39 -0500
Delivery-date: Wed, 05 Apr 2006 10:10:00 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <6C21311CEE34E049B74CC0EF339464B95849F0@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: <6C21311CEE34E049B74CC0EF339464B95849F0@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0.7 (X11/20051013)
Renato,

I should have been more specific.  The sequence of commands from the
guide that I use is below:

On dom0:
[start guests]
opcontrol --reset

opcontrol --no-vmlinux

xm list
Name                              ID Mem(MiB) VCPUs State  Time(s)
Domain-0                           0      256     1 r-----   242.4
guest_0                           11      128     1 -b----    11.7
guest_1                           12      128     1 -b----    11.8

sudo opcontrol --start-daemon --active-domains=guest_0,guest_1

On each guest:
opcontrol --reset

opcontrol --no-vmlinux

opcontrol --start
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

The above error always occurs when I issue the start command on the
guests...

Thanks,
David Carr

Santos, Jose Renato G wrote:

>David,
>
>You are not able to run oprofile on domU only.
>The current model supported for XenOProfile is system-wide
>profiling, i.e. profiling multiple domains, using the same
>hardware counters. In this model
>Dom0 has to be the coordinator of a profiling session.
>You have to first start oprofile daemon in dom0 indicating which
>domains are participating in the profiling session. Then you
>need to run "opcontrol --start" in each domU, and finally
>start profiling from dom0 (opcontrol --start).
>Look at the user guide in http://xenoprof.sourceforge.net
>for more details
>
>Renato 
>
>  
>
>>>-----Original Message-----
>>>From: David Carr [mailto:dc@xxxxxxxxx] 
>>>Sent: Wednesday, April 05, 2006 9:20 AM
>>>To: Santos, Jose Renato G
>>>Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
>>>Subject: Re: [Xen-devel] Compiling xenoprof
>>>
>>>Renato,
>>>
>>>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 daemon/init.c 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:
>>>
>>>      
>>>
>>>>David,
>>>>
>>>>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 
>>>>xen-unstable.
>>>>This should make life much easier for those wanting to use oprofile.
>>>>
>>>>Renato   
>>>>
>>>> 
>>>>
>>>>        
>>>>
>>>>>>-----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?
>>>>>>
>>>>>>Thanks,
>>>>>>David Carr
>>>>>>
>>>>>>
>>>>>>
>>>>>>_______________________________________________
>>>>>>Xen-devel mailing list
>>>>>>Xen-devel@xxxxxxxxxxxxxxxxxxx
>>>>>>http://lists.xensource.com/xen-devel
>>>>>>
>>>>>>     
>>>>>>
>>>>>>            
>>>>>>
>>>      
>>>
>
>_______________________________________________
>Xen-devel mailing list
>Xen-devel@xxxxxxxxxxxxxxxxxxx
>http://lists.xensource.com/xen-devel
>  
>


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

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