From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: no cycles for certain xentrace entries Date: Thu, 30 Sep 2010 15:21:46 +0100 Message-ID: <4CA49CFA.9080408@eu.citrix.com> References: <20100831184458.GA24018@aepfle.de> <20100929080929.GA24421@aepfle.de> <20100930141845.GA1772@aepfle.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20100930141845.GA1772@aepfle.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Olaf Hering Cc: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org Thanks for the patch; I'll take a look and apply what I can. What=20 version of gcc / what flags are you using? -George On 30/09/10 15:18, Olaf Hering wrote: > 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:=E2=80=82error:=E2=80=82ignoring=E2=80=82return=E2=80=82= value=E2=80=82of=E2=80=82'pipe',=E2=80=82declared=E2=80=82with=E2=80=82at= tribute=E2=80=82warn_unused_result > xenalyze.c:7731: error: 'toplevel' may be used uninitialized in this fu= nction > xenalyze.c:6168: error: 'e.pte' may be used uninitialized in this funct= ion > xenalyze.c:6168: error: 'e.addr' may be used uninitialized in this func= tion > xenalyze.c:6168: error: 'e.eip' may be used uninitialized in this funct= ion > xenalyze.c:7360: error: 'first_tsc' may be used uninitialized in this f= unction > xenalyze.c:6611: error: 'sevt.new_runstate' may be used uninitialized i= n this function > xenalyze.c:6611: error: 'sevt.old_runstate' may be used uninitialized i= n this function > xenalyze.c:6591: error: 'type' may be used uninitialized in this functi= on > > --- > 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 =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; > > 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 =3D 0, i, count; > > for(i=3D0, count=3D0; i if(ri->evt.main& (1UL< @@ -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 =3D fork())) { > progress_child_exec();