[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-ia64-devel] xenoprof usage question on ia64/xen


  • To: "Isaku Yamahata" <yamahata@xxxxxxxxxxxxx>
  • From: "Xing, Chong" <chong.xing@xxxxxxxxx>
  • Date: Tue, 27 Nov 2007 14:23:15 +0800
  • Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Mon, 26 Nov 2007 22:23:51 -0800
  • List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
  • Thread-index: AcgrUMgGD+DP5YnwRiyUcIFOZIehvQADjOSg
  • Thread-topic: [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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.