lttng-modules: fix build on kernel 3.18

+72 -1
+71
pkgs/os-specific/linux/lttng-modules/6f0af2643c40b57280796eaa4fe60ce4f678b6dc.patch
··· 1 + From 6f0af2643c40b57280796eaa4fe60ce4f678b6dc Mon Sep 17 00:00:00 2001 2 + From: =?UTF-8?q?Andr=C3=A9=20Goddard=20Rosa?= <andre.goddard@gmail.com> 3 + Date: Thu, 13 Nov 2014 21:33:02 -0800 4 + Subject: [PATCH] Fix compilation on Linux kernel >= 3.18.0 5 + MIME-Version: 1.0 6 + Content-Type: text/plain; charset=UTF-8 7 + Content-Transfer-Encoding: 8bit 8 + 9 + Since kernel commit 8a9522d2fe compilation fails as kvm_age_page 10 + tracepoint had its signature changed, so update it accordingly. 11 + 12 + Tested pointing to kernels: 13 + git reset --hard v3.17; make init/version.o 14 + git reset --hard v3.18-rc1; make init/version.o 15 + 16 + Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> 17 + Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> 18 + --- 19 + instrumentation/events/lttng-module/kvm.h | 29 +++++++++++++++++++++++++++++ 20 + 1 file changed, 29 insertions(+) 21 + mode change 100644 => 100755 instrumentation/events/lttng-module/kvm.h 22 + 23 + diff --git a/instrumentation/events/lttng-module/kvm.h b/instrumentation/events/lttng-module/kvm.h 24 + old mode 100644 25 + new mode 100755 26 + index c0d42e2..4f95095 27 + --- a/instrumentation/events/lttng-module/kvm.h 28 + +++ b/instrumentation/events/lttng-module/kvm.h 29 + @@ -232,6 +232,34 @@ LTTNG_TRACEPOINT_EVENT(kvm_fpu, 30 + TP_printk("%s", __print_symbolic(__entry->load, kvm_fpu_load_symbol)) 31 + ) 32 + 33 + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0)) 34 + + 35 + +LTTNG_TRACEPOINT_EVENT(kvm_age_page, 36 + + TP_PROTO(ulong gfn, int level, struct kvm_memory_slot *slot, int ref), 37 + + TP_ARGS(gfn, level, slot, ref), 38 + + 39 + + TP_STRUCT__entry( 40 + + __field( u64, hva ) 41 + + __field( u64, gfn ) 42 + + __field( u8, level ) 43 + + __field( u8, referenced ) 44 + + ), 45 + + 46 + + TP_fast_assign( 47 + + tp_assign(gfn, gfn) 48 + + tp_assign(level, level) 49 + + tp_assign(hva, ((gfn - slot->base_gfn) << 50 + + PAGE_SHIFT) + slot->userspace_addr) 51 + + tp_assign(referenced, ref) 52 + + ), 53 + + 54 + + TP_printk("hva %llx gfn %llx level %u %s", 55 + + __entry->hva, __entry->gfn, __entry->level, 56 + + __entry->referenced ? "YOUNG" : "OLD") 57 + +) 58 + + 59 + +#else 60 + + 61 + LTTNG_TRACEPOINT_EVENT(kvm_age_page, 62 + TP_PROTO(ulong hva, struct kvm_memory_slot *slot, int ref), 63 + TP_ARGS(hva, slot, ref), 64 + @@ -254,6 +282,7 @@ LTTNG_TRACEPOINT_EVENT(kvm_age_page, 65 + __entry->referenced ? "YOUNG" : "OLD") 66 + ) 67 + #endif 68 + +#endif 69 + 70 + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) 71 +
+1 -1
pkgs/os-specific/linux/lttng-modules/default.nix
··· 14 14 }; 15 15 16 16 # from upstream ML, should be in the next release 17 - patches = [ ./build-fix.patch ]; 17 + patches = [ ./build-fix.patch ./6f0af2643c40b57280796eaa4fe60ce4f678b6dc.patch ]; 18 18 19 19 preConfigure = '' 20 20 export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"