[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel] xenoprof usage question on ia64/xen
Hi, Isaku Thanks very much. xenoprof works now. And I can profile in passive mode now. But the profiling data seems not to be right. I write one hello_world.c program to have a test (only domain0, not test the passive domain), but the result is not result. The hello_world program is only one dead loop: int main(){ volatile int i=0; while(1) { i++; } return i; } But the result is strange: #opcontrol --event=CPU_CYCLES=50000 #opcontrol --start #./hello_world #opcontrol --stop #opreport CPU: IA64, speed 1396 MHz (estimated) Counted CPU_CYCLES events (CPU Cycles) with a unit mask of 0x00 (No unit mask) count 50000 CPU_CYCLES:50000| samples| %| ------------------ 997 77.2868 xen-syms 189 14.6512 vmlinux 34 2.6357 ld-2.3.4.so 34 2.6357 libc-2.3.4.so 16 1.2403 bash 12 0.9302 hello 2 0.1550 grep 2 0.1550 libm-2.3.4.so 2 0.1550 sshd 1 0.0775 gawk 1 0.0775 libdl-2.3.4.so And also there's an fatel error when execute "opcontrol -d". (XEN) Xen BUG at mm.c:1265 (XEN) FIXME: implement ia64 dump_execution_state() (XEN) (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) Xen BUG at mm.c:1265 (XEN) *************************************** //source based on 15044 //arch/ia64/xen/mm.c 1214 static void 1215 zap_domain_page_one(struct domain *d, unsigned long mpaddr, 1216 int clear_PGC_allocate, unsigned long mfn) 1264 page = mfn_to_page(mfn); 1265 BUG_ON((page->count_info & PGC_count_mask) == 0); 1266 1267 BUG_ON(clear_PGC_allocate && (page_get_owner(page) == NULL)); 1268 domain_put_page(d, mpaddr, pte, old_pte, clear_PGC_allocate); 1269 perfc_incr(zap_dcomain_page_one); Thanks -----Original Message----- From: Isaku Yamahata [mailto:yamahata@xxxxxxxxxxxxx] Sent: 2007年11月20日 16:39 To: Xing, Chong Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx Subject: Re: [Xen-ia64-devel] xenoprof usage question on ia64/xen One more comment. You need to tell the oprofile daemon that this session is xenoprofile session by "--xen" option. I hope the following example woule help. Here we're assuming that domain0 and domain1 exist. - dom0 active, dom1 passive case example on dom0 # opctonrol --start-daemon --xen=<path to xen-syms> \ --vmlinux=<path to vmlinux> \ --active-domains=0 --passive-domains=1 # opcontrol --start <make activity you want> # opcontrol --stop (or opcontrol --shutdown?) # opreport -l or something to get the result - both dom0 and dom1 active example on dom0 # opctonrol --start-daemon --xen=<path to xen-syms> \ --vmlinux=<path to vmlinux> \ --active-domains=0,1 on dom1 # opctonrol --start-daemon --xen=<path to xen-syms> \ --vmlinux=<path to vmlinux> domain1 isn't primary domain so that --active-domains/--passive-domains shouldn't be specified. on dom0 # opcontrol --start on dom1 # opcontrol --start <make activity you want> on dom1 # opcontrol --stop (or opcontrol --shutdown) on dom0 # opcontrol --stop (or opcontrol --shutdown) on dom0 # opreport -l or something to get the result of dom0 on dom1 # opreport -l or something to get the result of dom1 On Tue, Nov 20, 2007 at 02:35:59PM +0900, Isaku Yamahata wrote: > Hi Xing. > > You need one more ia64 specific patch to the oprofile user land. > The patch can be found from > http://lists.xensource.com/archives/html/xen-ia64-devel/2006-11/msg00132.html > I also attached the patch for your convenience. > > I haven't send the patch to the oprofile upstream because > someone reported the profiled result sometimes looked odd. > But I haven't looked into it. > If you use xenoprof/ia64, please report whether the result looks sane > or bad. (Or unable to use xenoprof.) > Then, I'll (try to fix it and) send the patch to the oprofile upstream. > > thanks. > > On Mon, Nov 19, 2007 at 05:15:21PM +0800, Xing, Chong wrote: > > > > > > I want to use xenoprof on ia64/xen to do some performance analysis. But > > xenoprof fails to work. > > > > > > > > The following is what I have configured: > > > > Xen version: changeset: 15044:eabda101b0c5 > > > > download oprofile 0.9.2 and oprofile-0.9.2-xen-r2.patch is patched in > > domain0, > > and also built & installed. > > > > domain0 linux kernel is configured and rebuilt for enabling > > oprofile: > > > > CONFIG_PROFILING=y > > > > CONFIG_OPROFILE=y > > > > > > > > But after the above work, xenoprof still can?t work correctly > > > > #opcontrol ?start > > > > Using default event: CPU_CYCLES:1000000:0:1:1 > > > > Using 2.6+ OProfile kernel interface. > > > > Running perfmon child on CPU0. > > > > CREATE_CONTEXT failed: Device or resource busy > > > > Waiting on CPU0 > > > > <hang??> > > > > > > > > Does anybody have some suggestions? > > > > Thanks > > > > > > > > > _______________________________________________ > > Xen-ia64-devel mailing list > > Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx > > http://lists.xensource.com/xen-ia64-devel > > -- > yamahata > _______________________________________________ > Xen-ia64-devel mailing list > Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-ia64-devel -- yamahata _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |