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-users

[Xen-users] RE: xenoprof: operation 9 failed for dom0 (status: -1)

To: Dante Cinco <dantecinco@xxxxxxxxx>
Subject: [Xen-users] RE: xenoprof: operation 9 failed for dom0 (status: -1)
From: "Santos, Jose Renato G" <joserenato.santos@xxxxxx>
Date: Wed, 11 Nov 2009 08:16:03 +0000
Accept-language: en-US
Acceptlanguage: en-US
Cc: Xen-users <xen-users@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 11 Nov 2009 00:17:36 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <8d2cca230911101120p7d0af9e8s7302c12dd5d2fc43@xxxxxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
References: <8d2cca230911051715n5b9c1050g12bdf49c80b59053@xxxxxxxxxxxxxx> <EF547E542C520A4D858CFEF5B404D05360805E78A1@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <8d2cca230911091813v17ef8427ga6fa960c77bb8389@xxxxxxxxxxxxxx> <EF547E542C520A4D858CFEF5B404D0536080DFF2CB@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <8d2cca230911101012p8d038d5u8ab095855393ba74@xxxxxxxxxxxxxx> <EF547E542C520A4D858CFEF5B404D0536080DFF70D@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <8d2cca230911101120p7d0af9e8s7302c12dd5d2fc43@xxxxxxxxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcpiOt7AKR+pi1xJSE606mWF/+Jn3QAbAiaw
Thread-topic: xenoprof: operation 9 failed for dom0 (status: -1)
I think I found the bug.
This patch should fix it.
Please let me know if it works

Thanks

Renato

diff -r 7422afed66ee xen/common/xenoprof.c
--- a/xen/common/xenoprof.c     Mon Sep 07 08:53:07 2009 +0100
+++ b/xen/common/xenoprof.c     Tue Nov 10 23:45:48 2009 -0800
@@ -681,8 +681,9 @@ int do_xenoprof_op(int op, XEN_GUEST_HAN
     {
     case XENOPROF_init:
         ret = xenoprof_op_init(arg);
-        if ( !ret )
-            xenoprof_state = XENOPROF_INITIALIZED;
+        if ( (ret == 0) &&
+             (current->domain == xenoprof_primary_profiler) )
+                xenoprof_state = XENOPROF_INITIALIZED;
         break;
 
     case XENOPROF_get_buffer:
 

> -----Original Message-----
> From: Dante Cinco [mailto:dantecinco@xxxxxxxxx] 
> Sent: Tuesday, November 10, 2009 11:21 AM
> To: Santos, Jose Renato G
> Cc: Xen-users
> Subject: Re: xenoprof: operation 9 failed for dom0 (status: -1)
> 
> As you can see from the output of "opreport -l" below, most 
> of the cycles are coming from domain1-modules so I do need to 
> focus on --active-domains=1 since --passive-domains=1 does 
> not provide the profiling details for the domU modules.
> 
> The steps described in the xenoprof tutorial for active 
> domains is pretty straightforward but I cannot get past the 
> "write error" when I run "opcontrol --start" in dom0.
> 
> After running "opcontrol --start" in domU, I see the response 
> below and I use lsmod to verify that oprofile module is 
> loaded. Given the results from --passive-domains=1, the dom0 
> and Xenoprof interface is working. It's the domU and dom0 
> interface that has some problem. Is there some other way I 
> can tell from dom0 that domU is "ready" before running 
> "opcontrol --start" in dom0?
> 
> FYI: I'm using the same oprofile-0.9.3 with xen-r2.patch in 
> dom0 and domU. If I boot the Debian 2.6.30.1 kernel (the same 
> one I'm using in domU) in bare-metal (no Xen VMM), I'm able 
> to successfully run oprofile-0.9.3.
> 
> opcontrol --start (from domU before "opcontrol --start" in dom0):
> Using 2.6+ OProfile kernel interface.
> Reading module info.
> Using log file /var/lib/oprofile/samples/oprofiled.log
> Daemon started.
> Profiler running.
> 
> opreport -l (from dom0 using --passive-domains=1 
> --passive-images=/boot/vmlinux-2.6.30.1):
> CPU: Core 2, speed 2533.51 MHz (estimated) Counted 
> CPU_CLK_UNHALTED events (Clock cycles when not halted) with a 
> unit mask of 0x00 (Unhalted core cycles) count 100000
> samples  %        image name               app name           
>       symbol name
> 617835   38.6156  domain1-modules          domain1-modules    
>       (no symbols)
> 448911   28.0576  domain1-xen-unknown      
> domain1-xen-unknown      (no symbols)
> 72460     4.5289  domain1-kernel           domain1-kernel     
>       __down
> 43294     2.7059  domain1-kernel           domain1-kernel     
>       __down_killable
> 34145     2.1341  domain1-kernel           domain1-kernel     
>       validate_slab_slab
> 
> Dante
> 
> 
> On Tue, Nov 10, 2009 at 10:22 AM, Santos, Jose Renato G 
> <joserenato.santos@xxxxxx> wrote:
> 
> 
>       With passive domains you cannot have detailed profiling 
> information on modules, only in kernel builtin functions and 
> on Xen. All the samples associated with modules will be 
> grouped under the same symbol "domain1-modules".
>       If you are interested in one particular module you 
> should try to recompile the kernel with the associated code 
> builtin (or you can use active domains, but follow the steps 
> on the xenoprof tutorial to coordinate opcontrol in dom0 and 
> in the guest) 
>        
>       Renato
> 
> 
> ________________________________
> 
>               
>               From: Dante Cinco [mailto:dantecinco@xxxxxxxxx] 
>               
>               Sent: Tuesday, November 10, 2009 10:13 AM
> 
>               To: Santos, Jose Renato G
>               Cc: Xen-users
>               Subject: Re: xenoprof: operation 9 failed for 
> dom0 (status: -1)
>               
> 
>               Renato,
>               
>               I think I'm making progress. I followed your 
> suggestion of using --passive-domains and --passive-images. 
> When I run opreport, it is unable to find /domain1-modules 
> and /domain1-xen-unknown. Where or how do I specify the 
> kernel modules I have running in domU/domain1? I tried 
> copying the *.ko files in /boot in dom0 and used 
> --image-path=/boot in opreport and it is still not finding them.
>               
>               Thanks.
>               
>               Dante
>               
>               
>               On Mon, Nov 9, 2009 at 6:44 PM, Santos, Jose 
> Renato G <joserenato.santos@xxxxxx> wrote:
>               
> 
>                       Try replacing "--active-domains=1" with 
> "--passive-domains=1 passive-images=<domU-kernel-image>" (use 
> the uncompressed version of your kernel image for the guest,  
> vmlinux-*)
>                        
>                       To use "active-domains" you need to run 
> opcontrol in the guest in addition to running it in dom0 and 
> you need to coordinate the execution of both instances.. This 
> require the guest opcontrol to be ready before running 
> "opcontrol --start" in dom0. That is why it is failing. I 
> suspect you have not executed opcontrol in the guest
>                       Using active-domains is very tricky. I 
> suggest that you use --passive-domains, unless you really 
> need active domains (it is only useful in case you need 
> detailed profiles for user processes running in the guest)
>                        
>                       Renato 
>                       
> 
> ________________________________
> 
>                               
>                               From: Dante Cinco 
> [mailto:dantecinco@xxxxxxxxx] 
>                               
>                               Sent: Monday, November 09, 2009 6:13 PM 
> 
>                               To: Santos, Jose Renato G
>                               
>                               Cc: Xen-users
>                               Subject: Re: xenoprof: 
> operation 9 failed for dom0 (status: -1)
>                               
>                               
>                               Renato,
>                               
>                               I've narrowed down the 
> opcontrol command sequence that causes the "write error" I'm 
> having. If I just run "opcontrol --start" in dom0, it runs 
> with no error and after "opcontrol --shutdown" I can run 
> "opreport" and get a real report.
>                               
>                               If I run "opcontrol 
> --start-daemon --active-domains=1" in dom0, run "opcontrol 
> --start" in domU (ID#1) and go back to dom0 and run 
> "opcontrol --start" I get the "write error" message. It's as 
> if "--start-daemon" is grabbing the file handle for 
> /dev/oprofile/enable so when "--start" tries to write "1" to 
> /dev/oprofile/enable, it is unable to do so because it is 
> already locked.
>                               
>                               So I can run OProfile in normal 
> (non-Xen) mode but as soon I start using "--start-daemon" I 
> have problems. To me it seems like a Xenoprofile problem.
>                               
>                               I'm using OProfile 0.9.3 and 
> oprofile-0.9.3-xen-r2.patch applied successfully.
>                               
>                               Dante   
>                               
>                               
>                               On Thu, Nov 5, 2009 at 6:05 PM, 
> Santos, Jose Renato G <joserenato.santos@xxxxxx> wrote:
>                               
> 
>                                       What version of 
> OProfile are you using?
>                                       Did you apply the Xen 
> patch available in http://xenoprof.sourceforge.net ?
>                                        
>                                       Renato
> 
> ________________________________
> 
>                                               From: Dante 
> Cinco [mailto:dantecinco@xxxxxxxxx] 
>                                               Sent: Thursday, 
> November 05, 2009 5:16 PM
>                                               To: Santos, 
> Jose Renato G
>                                               Cc: Xen-devel
>                                               Subject: 
> xenoprof: operation 9 failed for dom0 (status: -1)
>                                               
>                                               Renato,
>                                               
>                                               When I tried 
> running "opcontrol --start" (after previously running 
> "opcontrol --start-daemon") in dom0, I get this error message:
>                                               
>                                               
> /usr/local/bin/opcontrol: line 1639: echo: write error: 
> Operation not permitted
>                                               
>                                               and this 
> message in the Xen console:
>                                               
>                                               (XEN) xenoprof: 
> operation 9 failed for dom 0 (status : -1)
>                                               
>                                               It looks like 
> opcontrol is trying to do this: echo 1 > /dev/oprofile/enable
>                                               
>                                               and it is 
> failing. "operation 9" maps to XENOPROF_start which is 
> consistent with running "opcontrol --start." At first, I 
> ignored the error because it gave the indication "Profiler 
> running" but after I ran "opcontrol --shutdown" followed by 
> "opreport" in dom0, I got this error message:
>                                               
>                                               error: no 
> sample files found: profile specification too strict ?
>                                               
>                                               Do you know why 
> the write error is occurring? I followed the steps in 
> xenoprof_tutorial.ppt.
>                                               
>                                               Dante
>                                               
> 
> 
> 
> 
> 

Attachment: fix_xenoprof_active.patch
Description: fix_xenoprof_active.patch

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