From 4bbec2e15a1483472f034d76d0f2565d9f369400 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Tue, 5 Apr 2016 08:36:44 -0400 Subject: [PATCH] Fix: x86 kvm mmutrace instrumentation for kernel < 3.6 Signed-off-by: Mathieu Desnoyers --- .../events/lttng-module/arch/x86/kvm/mmutrace.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h b/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h index ad09313d..e3f7abd5 100644 --- a/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h +++ b/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h @@ -32,6 +32,7 @@ #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) */ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) /* * A pagetable walk has started */ @@ -45,7 +46,23 @@ LTTNG_TRACEPOINT_EVENT( ctf_integer(__u32, pferr, pferr) ) ) +#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) */ +/* + * A pagetable walk has started + */ +LTTNG_TRACEPOINT_EVENT( + kvm_mmu_pagetable_walk, + TP_PROTO(u64 addr, int write_fault, int user_fault, int fetch_fault), + TP_ARGS(addr, write_fault, user_fault, fetch_fault), + TP_FIELDS( + ctf_integer(__u64, addr, addr) + ctf_integer(__u32, pferr, + (!!write_fault << 1) | (!!user_fault << 2) + | (!!fetch_fault << 4)) + ) +) +#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) */ /* We just walked a paging element */ LTTNG_TRACEPOINT_EVENT( -- 2.34.1