|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [IA64] xenoprof/ia64 howto
# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1200597061 25200
# Node ID 7238393ef22030463a88f35163a94031f7d5fd4c
# Parent 003036d7db0fa5e3b988a4011655db411be8ed06
[IA64] xenoprof/ia64 howto
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
xen/arch/ia64/tools/README.xenoprof | 154 ++++++++++++++++++++++++++++++++++++
1 files changed, 154 insertions(+)
diff -r 003036d7db0f -r 7238393ef220 xen/arch/ia64/tools/README.xenoprof
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xen/arch/ia64/tools/README.xenoprof Thu Jan 17 12:11:01 2008 -0700
@@ -0,0 +1,154 @@
+ Xenoprof/IA64 HOWTO
+
+ Written by Isaku Yamahata <yamahata at valinux co jp>
+ 15th Jan, 2008
+
+
+Introduction
+------------
+This documents describes how to use xenoprof/ia64.
+See oprofile site for the details of oprofile itself.
+
+
+Reference
+---------
+oprofile
+http://oprofile.sourceforge.net/news/
+
+xenoprof
+http://xenoprof.sourceforge.net/
+
+
+Requirement
+-----------
+- xen VMM
+ xen-ia64-devel.hg c/s 16632:2900e4dacaa7 or later
+ Probably xen 3.2 or later would be OK.
+
+- dom0/domU Linux
+ linux kernel tree corresponding to xen VMM.
+
+- Oprofile
+ oprofile 0.9.3 or later
+ get the patch for oprofile 0.9.3 from http://xenoprof.sourceforge.net/
+ oprofile-0.9.3-xen-r2.patch or later
+ NOTE:The xenoprof/IA64 specific part is already included in the development
+ cvs tree.
+
+- Documentation
+ You can find the documentation from http://xenoprof.sourceforge.net/.
+ It doesn't cover IA64 specific part, but it almost applies.
+
+
+Options to opcontrol
+--------------------
+You have to tell the oprofile daemon that the session is xenoprof one
+by "--xen" option.
+--xen=<xen_image_file>
+ Specify the xen image.
+--active-domains<list>
+ Specify active domains
+--passive-domains=<list>
+ Specify passive domains
+
+
+Examples
+--------
+- 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
+
+
+Result example
+--------------
+The app name of non-dom0 domain would be domain<N>-{xen, kernel, modules, app}
+where N is the domain id.
+You may want to create domain<N>-xen domain<N>-kernel to get the symbol names.
+
+# opreport
+CPU: Itanium 2, speed 1595 MHz (estimated)
+Counted L2DTLB_MISSES events (L2DTLB Misses) with a unit mask of 0x00 (No unit
mask) count 5000
+L2DTLB_MISSES:...|
+ samples| %|
+------------------
+ 242 40.2662 domain1-kernel
+ 176 29.2845 domain1-xen
+ 128 21.2978 domain1-apps
+ 55 9.1514 xen-syms
+
+# opreport -l
+CPU: Itanium 2, speed 1595 MHz (estimated)
+Counted L2DTLB_MISSES events (L2DTLB Misses) with a unit mask of 0x00 (No unit
mask) count 5000
+warning: /boot/domain1-xen could not be found.
+warning: /domain1-apps could not be found.
+warning: /domain1-kernel could not be found.
+samples % app name symbol name
+242 40.2662 domain1-kernel (no symbols)
+176 29.2845 domain1-xen (no symbols)
+128 21.2978 domain1-apps (no symbols)
+16 2.6622 xen-syms context_switch
+16 2.6622 xen-syms lookup_domain_mpa
+7 1.1647 xen-syms vcpu_get_domain_bundle
+3 0.4992 xen-syms do_dom0vp_op
+3 0.4992 xen-syms lookup_noalloc_domain_pte
+3 0.4992 xen-syms xencomm_get_page
+2 0.3328 xen-syms __copy_user
+2 0.3328 xen-syms vcpu_translate
+1 0.1664 xen-syms ia64_frametable_probe
+1 0.1664 xen-syms vcpu_wake
+1 0.1664 xen-syms xencomm_ctxt_init
+
+
+Limitations
+-----------
+- Don't create/destroy/save/restore/live migration during xenoprof session.
+ Otherwise something would go wrong. (including xen VMM hang)
+ This isn't ia64 specific.
+ If you want to profile early boot phase, "xm create -p/unpause" is your
+ friend.
+
+- Currently only the generic PMC/PMD is supported.
+ The CPU implementation specific PMC/PMD isn't supported.
+
+- calling graph isn't supported yet.
+
+- The active domain for HVM domain isn't supported
+ Xen/IA64 VMM itself supports it, however the driver doesn't exist.
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [IA64] xenoprof/ia64 howto,
Xen patchbot-unstable <=
|
|
|
|
|