From caf512bef7b2801c7f11c924b9bdfb8c0840fbe2 Mon Sep 17 00:00:00 2001 From: David Vrabel Date: Wed, 3 Oct 2012 11:11:35 +0100 Subject: trace: trace hypercalls inside a multicall 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 Acked-by: George Dunlap Committed-by: Keir Fraser --- tools/xentrace/formats | 1 + tools/xentrace/xentrace_format | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'tools/xentrace') diff --git a/tools/xentrace/formats b/tools/xentrace/formats index fa935c8d06..928e1d7191 100644 --- a/tools/xentrace/formats +++ b/tools/xentrace/formats @@ -105,6 +105,7 @@ 0x0020100c CPU%(cpu)d %(tsc)d (+%(reltsc)8d) ptwr_emulation_pae [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ] 0x0020110c CPU%(cpu)d %(tsc)d (+%(reltsc)8d) ptwr_emulation_pae [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ] 0x0020100d CPU%(cpu)d %(tsc)d (+%(reltsc)8d) hypercall [ op = 0x%(1)08x ] +0x0020200e CPU%(cpu)d %(tsc)d (+%(reltsc)8d) hypercall [ op = 0x%(1)08x ] 0x0040f001 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) shadow_not_shadow [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ] 0x0040f101 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) shadow_not_shadow [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ] diff --git a/tools/xentrace/xentrace_format b/tools/xentrace/xentrace_format index bdcab096ea..5ff85ae2e8 100644 --- a/tools/xentrace/xentrace_format +++ b/tools/xentrace/xentrace_format @@ -112,6 +112,7 @@ last_tsc = [0] TRC_TRACE_IRQ = 0x1f004 TRC_PV_HYPERCALL_V2 = 0x20100d +TRC_PV_HYPERCALL_SUBCALL = 0x20100e NR_VECTORS = 256 irq_measure = [{'count':0, 'tot_cycles':0, 'max_cycles':0}] * NR_VECTORS @@ -199,7 +200,7 @@ while not interrupted: d3 = irq_measure[d1]['tot_cycles'] d4 = irq_measure[d1]['max_cycles'] - if event == TRC_PV_HYPERCALL_V2: + if event == TRC_PV_HYPERCALL_V2 or event == TRC_PV_HYPERCALL_SUBCALL: # Mask off the argument present bits. d1 &= 0x000fffff -- cgit v1.2.3