[lttng-dev] [PATCH lttng-modules] Fix compilation on Linux kernel >= 3.18.0

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Sat Nov 15 13:43:30 EST 2014


Merged into master and stable-2.6, thanks!

Mathieu

----- Original Message -----
> From: "André Goddard Rosa" <andre.goddard at gmail.com>
> To: lttng-dev at lists.lttng.org
> Sent: Friday, November 14, 2014 6:33:02 AM
> Subject: [lttng-dev] [PATCH lttng-modules] Fix compilation on Linux kernel	>= 3.18.0
> 
> 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
> 
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> 

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list