[lttng-dev] [PATCH lttng-modules] Fix compilation on Linux kernel >= 3.18.0
André Goddard Rosa
andre.goddard at gmail.com
Fri Nov 14 00:33:02 EST 2014
Since kernel commit 8a9522d2fe compilation fails as kvm_age_page
tracepoint had its signature changed, so update it accordingly.
Tested pointing to kernels:
git reset --hard v3.17; make init/version.o
git reset --hard v3.18-rc1; make init/version.o
Signed-off-by: André Goddard Rosa <andre.goddard at gmail.com>
---
instrumentation/events/lttng-module/kvm.h | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
mode change 100644 => 100755 instrumentation/events/lttng-module/kvm.h
diff --git a/instrumentation/events/lttng-module/kvm.h b/instrumentation/events/lttng-module/kvm.h
old mode 100644
new mode 100755
index c0d42e2..4f95095
--- a/instrumentation/events/lttng-module/kvm.h
+++ b/instrumentation/events/lttng-module/kvm.h
@@ -232,6 +232,34 @@ LTTNG_TRACEPOINT_EVENT(kvm_fpu,
TP_printk("%s", __print_symbolic(__entry->load, kvm_fpu_load_symbol))
)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
+
+LTTNG_TRACEPOINT_EVENT(kvm_age_page,
+ TP_PROTO(ulong gfn, int level, struct kvm_memory_slot *slot, int ref),
+ TP_ARGS(gfn, level, slot, ref),
+
+ TP_STRUCT__entry(
+ __field( u64, hva )
+ __field( u64, gfn )
+ __field( u8, level )
+ __field( u8, referenced )
+ ),
+
+ TP_fast_assign(
+ tp_assign(gfn, gfn)
+ tp_assign(level, level)
+ tp_assign(hva, ((gfn - slot->base_gfn) <<
+ PAGE_SHIFT) + slot->userspace_addr)
+ tp_assign(referenced, ref)
+ ),
+
+ TP_printk("hva %llx gfn %llx level %u %s",
+ __entry->hva, __entry->gfn, __entry->level,
+ __entry->referenced ? "YOUNG" : "OLD")
+)
+
+#else
+
LTTNG_TRACEPOINT_EVENT(kvm_age_page,
TP_PROTO(ulong hva, struct kvm_memory_slot *slot, int ref),
TP_ARGS(hva, slot, ref),
@@ -254,6 +282,7 @@ LTTNG_TRACEPOINT_EVENT(kvm_age_page,
__entry->referenced ? "YOUNG" : "OLD")
)
#endif
+#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
--
2.1.3
More information about the lttng-dev
mailing list