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-ia64-devel

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

To: "Isaku Yamahata" <yamahata@xxxxxxxxxxxxx>
Subject: RE: [Xen-ia64-devel] xenoprof usage question on ia64/xen
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
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20071120083848.GA20442%yamahata@xxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1104166E0B63A341805FDB977862AAD2EA6399@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20071120053559.GC16520%yamahata@xxxxxxxxxxxxx> <20071120083848.GA20442%yamahata@xxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>