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/
Home Products Support Community News


[Xen-devel] RE: Xenoprof in an HVM domain

To: "Santos, Jose Renato G" <joserenato.santos@xxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] RE: Xenoprof in an HVM domain
From: "Yang, Xiaowei" <xiaowei.yang@xxxxxxxxx>
Date: Wed, 26 Apr 2006 19:15:20 +0800
Delivery-date: Wed, 26 Apr 2006 04:15:47 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcZn9+8ejsr0LEBPTSCYWY9rFnjdagBJi9fg
Thread-topic: Xenoprof in an HVM domain
>  No, support for passive domain is not available yet.
>  Xiaowei, is working on getting passive domain support with
>  the capability of decoding Xen and kernel samples into
>  function names (but not for user level samples).
>  Xiaowei, could provide more details of when he expects this
>  to be available for others to use

Hi Renato, 
For now passive domain is enabled and I've used it and my enhancement to
oprofile to profile VMX doamin.

This is the example of how to use it: 
opcontrol --start-daemon --passive-domains=2
--xen=/boot/xen-syms-3.0-unstable --passive-images=/boot/vmlinux-2.6.9

2 more options are added:
--passive-domains is to point out a list of passive domain IDs.
--passive-images is for mapping samples to passive domain kernel

Let me show you what it can do. Below is a result example collected in
dom0 while vmx is running sysbench --test=thread:
  samples|      %|
     1322 62.6837 pvmlinux2-syms
      698 33.0963 papps2-syms
       54  2.5605 pxen2-syms
       18  0.8535 vmlinux-syms-2.6.16-xen0
        8  0.3793 libc-2.3.4.so
        7  0.3319 xen-syms-3.0-unstable
        1  0.0474 bash
        1  0.0474 oprofiled

Here 3 entries need more notice:
- pvmlinux?-syms entry means samples for passive domain kernel, while ?
stand for domain_id (it's 2 here);
- papps?-syms entry means samples of passive domain application.
- pxen?-syms entry means samples of xen when current points to passive
domain ?

This is the function level mapping, which clearly reflects what vmx
domain is doing:
#opreport -l
samples  %        app name                 symbol name
698      33.0963  papps2-syms              (no symbols)
399      18.9189  pvmlinux2-syms           sched_clock
330      15.6472  pvmlinux2-syms           sysenter_past_esp
263      12.4704  pvmlinux2-syms           schedule
131       6.2115  pvmlinux2-syms           sysenter_entry
58        2.7501  pvmlinux2-syms           enqueue_task
56        2.6553  pvmlinux2-syms           dequeue_task
49        2.3234  pvmlinux2-syms           sys_sched_yield
16        0.7587  pvmlinux2-syms           this_rq_lock
11        0.5216  pxen2-syms               vmx_asm_vmexit_handler
10        0.4742  pvmlinux2-syms           mark_offset_tsc
6         0.2845  pvmlinux2-syms           mask_and_ack_8259A
5         0.2371  pxen2-syms               vmx_vmexit_handler
4         0.1897  pxen2-syms               __vmwrite
3         0.1422  pxen2-syms               hvm_io_assist
3         0.1422  pxen2-syms               vmx_intr_assist
3         0.1422  pxen2-syms               vmx_io_instruction

So it's mainly usable, but there is still an issue doing resource
cleanup. After it's fixed, I'll send the patch out.


Xen-devel mailing list

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