From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olaf Hering Subject: Re: no cycles for certain xentrace entries Date: Thu, 30 Sep 2010 16:18:45 +0200 Message-ID: <20100930141845.GA1772@aepfle.de> References: <20100831184458.GA24018@aepfle.de> <20100929080929.GA24421@aepfle.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: George Dunlap Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On Thu, Sep 30, George Dunlap wrote: > Have you tried using xenalyze to analyze your trace? >=20 > http://xenbits.xensource.com/ext/xenalyze.hg I will try it, thanks. To build it, these changes are needed: xenalyze.c:8038:=E2=80=82error:=E2=80=82ignoring=E2=80=82return=E2=80=82v= alue=E2=80=82of=E2=80=82'pipe',=E2=80=82declared=E2=80=82with=E2=80=82att= ribute=E2=80=82warn_unused_result xenalyze.c:7731: error: 'toplevel' may be used uninitialized in this func= tion xenalyze.c:6168: error: 'e.pte' may be used uninitialized in this functio= n xenalyze.c:6168: error: 'e.addr' may be used uninitialized in this functi= on xenalyze.c:6168: error: 'e.eip' may be used uninitialized in this functio= n xenalyze.c:7360: error: 'first_tsc' may be used uninitialized in this fun= ction 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; =20 + 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 =3D _sevt.old_runstate; break; case 2: + default: type =3D CONTINUE; sevt.new_runstate =3D sevt.old_runstate =3D 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 =3D r->first_tsc; + first_tsc =3D r->first_tsc; =20 if(opt.dump_cooked || opt.dump_all) { @@ -7728,7 +7729,7 @@ void create_dump_header(struct record_in =20 int find_toplevel_event(struct record_info *ri) { - int toplevel, i, count; + int toplevel =3D 0, i, count; =20 for(i=3D0, count=3D0; ievt.main & (1UL<