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] no cycles for certain xentrace entries

To: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] no cycles for certain xentrace entries
From: Olaf Hering <olaf@xxxxxxxxx>
Date: Thu, 30 Sep 2010 16:18:45 +0200
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 30 Sep 2010 07:19:49 -0700
Dkim-signature: v=1; a=rsa-sha1; c=relaxed/relaxed; t=1285856336; l=2273; s=domk; d=aepfle.de; h=In-Reply-To:Content-Transfer-Encoding:Content-Type:MIME-Version: References:Subject:Cc:To:From:Date:X-RZG-CLASS-ID:X-RZG-AUTH; bh=oOVGicNUd6JsNgrbFERolIl8zVY=; b=m9ebkCu/pgm11sF1h0SC+KkN4oKp2RRUaIMA+RTxwjY0Dd2KRMTl8jopFv8Acw/v3T3 A2zPSJ1luOlEIdZACAOvBroS2ZgNT7TXyont1P6wMjgE8YtiUZY+yLJA7o8E2DtMZUuKE KcuqnsWQN4UzaxJguPdOmeWvIIGx6tNhC6s=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AANLkTim1t+aCV+c5mfNpCMEzmvwVSENz1yHbBjzLwtw1@xxxxxxxxxxxxxx>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20100831184458.GA24018@xxxxxxxxx> <20100929080929.GA24421@xxxxxxxxx> <AANLkTim1t+aCV+c5mfNpCMEzmvwVSENz1yHbBjzLwtw1@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.20 (2009-06-14)
On Thu, Sep 30, George Dunlap wrote:

> Have you tried using xenalyze to analyze your trace?
> 
> http://xenbits.xensource.com/ext/xenalyze.hg

I will try it, thanks.

To build it, these changes are needed:


xenalyze.c:8038: error: ignoring return value of 'pipe', declared with 
attribute warn_unused_result
xenalyze.c:7731: error: 'toplevel' may be used uninitialized in this function
xenalyze.c:6168: error: 'e.pte' may be used uninitialized in this function
xenalyze.c:6168: error: 'e.addr' may be used uninitialized in this function
xenalyze.c:6168: error: 'e.eip' may be used uninitialized in this function
xenalyze.c:7360: error: 'first_tsc' may be used uninitialized in this function
xenalyze.c:6611: error: 'sevt.new_runstate' may be used uninitialized in this 
function
xenalyze.c:6611: error: 'sevt.old_runstate' may be used uninitialized in this 
function
xenalyze.c:6591: error: 'type' may be used uninitialized in this function

---
 xenalyze.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

--- xenalyze.hg/xenalyze.c
+++ xenalyze.hg/xenalyze.c
@@ -6167,6 +6167,7 @@ void pv_ptwr_emulation_process(struct re
         unsigned long long pte, addr, eip;
     } e;
     
+    memset(&e, 0x5a, sizeof(e));
     switch ( pevt.minor ) {
     case PV_PTWR_EMULATION_PAE:
         if ( pevt.x64 )
@@ -6622,6 +6623,7 @@ void sched_runstate_process(struct pcpu_
         sevt.old_runstate = _sevt.old_runstate;
         break;
     case 2:
+    default:
         type = CONTINUE;
         sevt.new_runstate = sevt.old_runstate = RUNSTATE_RUNNING;
         break;
@@ -7366,8 +7368,7 @@ void process_lost_records(struct pcpu_in
                 ri->extra_words);
         dump_unexpected_and_exit(ri);
     }
-    else
-        first_tsc = r->first_tsc;
+    first_tsc = r->first_tsc;
 
     if(opt.dump_cooked || opt.dump_all)
     {
@@ -7728,7 +7729,7 @@ void create_dump_header(struct record_in
 
 int find_toplevel_event(struct record_info *ri)
 {
-    int toplevel, i, count;
+    int toplevel = 0, i, count;
 
     for(i=0, count=0; i<TOPLEVEL_MAX; i++)
         if(ri->evt.main & (1UL<<i))
@@ -8035,7 +8036,8 @@ void progress_child_exec(void) {
 void progress_init(void) {
     int pid;
 
-    pipe(G.progress.pipe);
+    if (pipe(G.progress.pipe) < 0)
+           perror("pipe");
 
     if(!(pid = fork())) {
         progress_child_exec();

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