📄 readme.xenoprof
字号:
Xenoprof/IA64 HOWTO Written by Isaku Yamahata <yamahata at valinux co jp> 15th Jan, 2008Introduction------------This documents describes how to use xenoprof/ia64.See oprofile site for the details of oprofile itself.Reference---------oprofilehttp://oprofile.sourceforge.net/news/xenoprofhttp://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 oneby "--xen" option.--xen=<xen_image_file> Specify the xen image.--active-domains<list> Specify active domains--passive-domains=<list> Specify passive domainsExamples--------- 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 dom1Result 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.# opreportCPU: Itanium 2, speed 1595 MHz (estimated)Counted L2DTLB_MISSES events (L2DTLB Misses) with a unit mask of 0x00 (No unit mask) count 5000L2DTLB_MISSES:...| samples| %|------------------ 242 40.2662 domain1-kernel 176 29.2845 domain1-xen 128 21.2978 domain1-apps 55 9.1514 xen-syms# opreport -lCPU: Itanium 2, speed 1595 MHz (estimated)Counted L2DTLB_MISSES events (L2DTLB Misses) with a unit mask of 0x00 (No unit mask) count 5000warning: /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 name242 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_switch16 2.6622 xen-syms lookup_domain_mpa7 1.1647 xen-syms vcpu_get_domain_bundle3 0.4992 xen-syms do_dom0vp_op3 0.4992 xen-syms lookup_noalloc_domain_pte3 0.4992 xen-syms xencomm_get_page2 0.3328 xen-syms __copy_user2 0.3328 xen-syms vcpu_translate1 0.1664 xen-syms ia64_frametable_probe1 0.1664 xen-syms vcpu_wake1 0.1664 xen-syms xencomm_ctxt_initLimitations------------ 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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -