aboutsummaryrefslogtreecommitdiffstats
path: root/tools/xentrace/formats
Commit message (Collapse)AuthorAgeFilesLines
* trace: Add reason for NMI exit TRAPKonrad Rzeszutek Wilk2013-03-251-0/+1
| | | | | Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
* trace: Add the other variant of do_blockKonrad Rzeszutek Wilk2013-03-251-0/+1
| | | | | Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
* trace: Add trace events for IRQ activitiesKonrad Rzeszutek Wilk2013-03-251-0/+9
| | | | | | | | | | | | | | This expands the format to include the class of TRC_HW_IRQ. This means that instead of: CPU28 1753521436727 (+ 3252) unknown (0x0000000000802008) [ 0x0000006c 0x4605709c 0x4605b682 0x00000000 0x00000000 0x00000000 0x00000000 ] we now see: CPU28 1753521436727 (+ 3252) do_irq [ irq = 108, began = 1174761628us, ended = 1174779522us ] Acked-by: George Dunlap <george.dunlap@eu.citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
* trace: Use correct trace class for power management changesKonrad Rzeszutek Wilk2013-03-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | Previous to this patch we would see in the trace file: CPU28 1753503175371 (+ 8496) unknown (0x0000000000801002) [ 0x00000004 0x4158a498 0x000003a1 0x000027e6 0x00000000 0x00000000 0x00000000 ] CPU28 1753505321239 (+ 2145868) unknown (0x0000000000801003) [ 0x00000004 0x4166dca7 0x000000fa 0x00000000 0x00000000 0x00000000 0x00000000 ] CPU28 1753505343756 (+ 22517) unknown (0x0000000000801002) [ 0x00000004 0x41670fe5 0x00001284 0x00003766 0x00000000 0x00000000 0x00000000 ] CPU28 1753521413711 (+16069955) unknown (0x0000000000801003) [ 0x00000004 0x41d1e02c 0x000000ab 0x00000000 0x00000000 0x00000000 0x00000000 ] instead of: CPU28 1753503175371 (+ 8496) cpu_idle_entry [ C0 -> C4, acpi_pm_tick = 1096328344, expected = 929us, predicted = 10214us ] CPU28 1753505321239 (+ 2145868) cpu_idle_exit [ C4 -> C0, acpi_pm_tick = 1097260199, irq = 250 0 0 0 ] CPU28 1753505343756 (+ 22517) cpu_idle_entry [ C0 -> C4, acpi_pm_tick = 1097273317, expected = 4740us, predicted = 14182us ] CPU28 1753521413711 (+16069955) cpu_idle_exit [ C4 -> C0, acpi_pm_tick = 1104273452, irq = 171 0 0 0 ] The patch that added the cpu_idle_[entry|exit] was using the TRC_HW_IRQ class (0x00802000) instead of TRC_HW_PM (0x00801000) as a base. Acked-by: George Dunlap <george.dunlap@eu.citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
* trace: trace hypercalls inside a multicallDavid Vrabel2012-10-031-0/+1
| | | | | | | | | | Add a trace record for every hypercall inside a multicall. These use a new event ID (with a different sub-class ) so they may be filtered out if only the calls into hypervisor are of interest. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Acked-by: George Dunlap <george.dunlap@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* trace: improve usefulness of hypercall trace recordDavid Vrabel2012-10-031-0/+1
| | | | | | | | | | | | | | | | | | Trace hypercalls using a more useful trace record format. The EIP field is removed (it was always somewhere in the hypercall page) and include selected hypercall arguments (e.g., the number of calls in a multicall, and the number of PTE updates in an mmu_update etc.). 12 bits in the first extra word are used to indicate which arguments are present in the record and what size they are (32 or 64-bit). This is an incompatible record format so a new event ID is used so tools can distinguish between the two formats. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Acked-by: George Dunlap <george.dunlap@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* trace: allow for different sub-classes of TRC_PV_* tracepointsDavid Vrabel2012-10-031-22/+22
| | | | | | | | | | | | | | | | | | We want to add additional sub-classes for TRC_PV tracepoints and to be able to only capture these new sub-classes. This cannot currently be done as the existing tracepoints all use a sub-class of 0xf. So, redefine the PV events to use a new sub-class. All the current tracepoints are tracing entry points to the hypervisor so the sub-class is named TRC_PV_ENTRY. This change does not affect xenalyze as that only looks at the main class and the event number and does not use the sub-class field. Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com> Signed-off-by: David Vrabel <david.vrabel@citrix.com> Acked-by: George Dunlap <george.dunlap@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* Tracing facility for nested virtualizationKeir Fraser2011-04-141-0/+3
| | | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> Signed-off-by: Keir Fraser <keir@xen.org>
* tools/xentrace: decode 'continue_running' and 'RDTSC' entries.Christoph Egger2011-04-131-0/+2
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* xentrace: update formats file for INTR_WINDOW and NPFKeir Fraser2010-06-071-0/+2
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* xentrace: fix "%016x" formatKeir Fraser2009-08-111-35/+44
| | | | | | | | | xentrace_format cannot use "0x016x" format as we expect. It show only %(N) as "0x016x" format, not as "%(N+1)08x%(N)08x". So I fixed tools/xentrace/formats by using "%(N+1)08x%(N)08x" format. Also I added some TRC_PV entries. Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
* x86 Cx tracing: export the Cx exit reason (pending interrupt during Cx)Keir Fraser2009-06-291-1/+1
| | | | Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
* x86 Cx tracing: export expected/predicted Cx to xentraceKeir Fraser2009-06-291-1/+1
| | | | Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
* xentrace: Trace IRQs and entry/exit timestamps.Keir Fraser2009-05-191-0/+1
| | | | | From: Dulloor <dulloor@gmail.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* xentrace: Clean up HVM I/O tracing.Keir Fraser2009-04-241-2/+4
| | | | | Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* xentrace: Add acpi pm tick output to idle tracingKeir Fraser2009-03-191-2/+2
| | | | | | | The reason is that tsc stops and it causes the inaccuracy. And later we can write some scripts based on this patch. Signed-off-by: Guanqun Lu <guanqun.lu@intel.com>
* xentrace: trace power management events.Keir Fraser2008-10-161-0/+4
| | | | Signed-off-by: Guanqun Lu <guanqun.lu@intel.com>
* xentrace 6/7: Updated formats file.Keir Fraser2008-09-081-49/+100
| | | | | Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Signed-off-by: Trolle Selander <trolle.selander@eu.citrix.com>
* xentrace: Fix typo in xentrace_formats file.Keir Fraser2008-08-211-2/+2
| | | | | Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com> Signed-off-by: Zhou Ting <ting.g.zhou@intel.com>
* xentrace: fix tracing for 64bit guestsKeir Fraser2008-06-091-19/+38
| | | | | | | | | | | | | | | | | | | | Xen tracing some times ago used to put values of type 'long' into the trace buffer. This has changed to uint32_t. Some trace points log virtual addresses, which get cropped to 32bit in this case. There were some inline functions to handle at least PF_XEN and VMEXIT, which caused a lot of code duplication. The attached patch fixes several issues: 1. fix and extend tools/xentrace/formats 2. Fix xentrace_format to handle up to 7 parameters 3. create convenience macros to properly log long values 4. remove the inline functions in hvm/trace.h and replace them by macros 5. Change the CPUID trace to work correctly 6. group HVM trace points enable mechanism I used a similar approach as in PV tracing with bit 8 indicating 64bit pointers. Signed-off-by: Andre Przywara <andre.przywara@amd.com>
* xentrace bug fix: data format of hvmtrace is changed.Keir Fraser2007-12-281-3/+3
| | | | Signed-off-by: Disheng Su <disheng.su@intel.com>
* xentrace: Add missing xentrace format entries for HVM guests.Keir Fraser2007-11-061-0/+8
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* Missing files from previous changeset.kfraser@localhost.localdomain2007-02-261-26/+22
| | | | Signed-off-by: Thomas Friebel <thomas.friebel@amd.com>
* xentrace: Add a relative TSC field (kept track per CPU) to xentrace_format.kfraser@localhost.localdomain2007-02-231-32/+34
| | | | | | | Additionally a default line is added (key 0x00000000) which is used when no specific entry in the format file is found. Signed-off-by: Thomas Friebel <thomas.friebel@amd.com>
* Add lost record format in xentrace formats file.kfraser@localhost.localdomain2006-11-091-0/+2
| | | | Signed-off-by: Xin Li <xin.b.li@intel.com>
* [HVM] XenTrace enhancement for HVM SMP guests.kfraser@localhost.localdomain2006-10-181-5/+24
| | | | | Signed-off-by: Yunfeng Zhao <yunfeng.zhao@intel.com> Signed-off-by: Xin Li <xin.b.li@intel.com>
* This patch is mainly a cleanup of vmx related xentrace code. One minorkaf24@firebug.cl.cam.ac.uk2006-03-241-2/+2
| | | | | | | | | xentrace bug is fixed. Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com> Signed-off-by: Yunfeng Zhao <yunfeng.zhao@intel.com>
* This is a set of changes which allow the tracebuffer functionality tokaf24@firebug.cl.cam.ac.uk2005-10-301-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | be enabled and disabled dynamically while the system is running. The existing DOM0_TBUFCONTROL hypercall is used, and three new operations have been added: enable, disable, and set_size. This is to address concerns that use of the trace buffers impacts system performance. The initial value of opt_tbuf_size is set to zero, so that trace buffers remain disabled by default. They can be enabled as they used to be, by adding tbuf_size= to the xen command line at boot time. They can also be turned on and off any time when the system is running. The size of the trace buffer allocation can also be changed dynamically while the system is running. The trace buffers may be completely deallocated by setting the size to zero. No change in buffer size can be done while tracing is enabled; Other Changes made: - Update the constants in tools/xentrace/formats to match those in public/trace.h - libxc functions for enable/disable, get/set size Still left to do: - remove all ifdef's for trace buffers and the 'trace' build option - xm command to do enable/disable trace buffers and get/set size Signed-off-by: Rob Gardner <rob.gardner@hp.com>
* Tracing hooks for VMX domainsadsharma@los-vmm.sc.intel.com2005-08-251-0/+4
| | | | | | | | | | The low level asm instrumentation is needed to get precise TSC counts. trace=n should have precisely 0 overhead because of this patch. Signed-off-by: Yunfeng Zhai <yunfeng.zhao@intel.com> Signed-off-by: Arun Sharma <arun.sharma@intel.com>
* bitkeeper revision 1.1278.1.1 (4254b244uWvJejlkGeqN8mp1CLtN5w)bren@br260.wolfson.cam.ac.uk2005-04-071-33/+16
| | | | | | | | | | New Xen trace buffer implementation that avoids blocking interrupts. Add support for trace buffer CPU mask and event mask. Add support for trace classes. New DOM0 trace buffer hypercall. Fix 'xentrace' signal handler bug. Signed-off-by: bin.ren@cl.cam.ac.uk
* bitkeeper revision 1.1273.1.1 (4252c7d35i_j5GPb1ONx5tb9t7WG4g)bren@br260.wolfson.cam.ac.uk2005-04-051-31/+30
| | | | | | | Revamp xentrace. Clean up Xen scheduler tracings. Signed-off-by: bin.ren@cl.cam.ac.uk
* bitkeeper revision 1.1011.3.1 (40e0586fjTiPMS5QT6pzPb5uZe0MMw)mwilli2@equilibrium.research.intel-research.net2004-06-281-14/+14
| | | | | | Various xentrace tweaks. Should perform better now. May still need more work. Let me know if you have problems with it.
* bitkeeper revision 1.911.1.1 (40abd5b2mqoey54uZKqDJrA-dD05Xw)iap10@tetris.cl.cam.ac.uk2004-05-191-14/+35
| | | | | | bandaid for xentrace. Really needs a Xen-visible trace buffer consumer index, and a way of kicking the trace deamon...
* bitkeeper revision 1.891.1.8 (40a2299bVaCq0t5_5UXpB7OSB1yLKA)mwilli2@equilibrium.research.intel-research.net2004-05-121-6/+6
| | | | | | Update xentrace to produce binary output format and xentrace_format to correctly parse it.
* bitkeeper revision 1.891.3.1 (40a107b0xATyR-Pt7aENgr5O6ydSyA)mwilli2@equilibrium.research.intel-research.net2004-05-111-0/+14
Improvements to trace buffer features.