[lttng-dev] [PATCH lttng-modules] Fix: timers cputime_t arguments replaced by ull in kernel 4.11

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Tue Mar 7 16:53:37 UTC 2017


merged into master and stable-2.9, thanks!

Mathieu

----- On Mar 7, 2017, at 11:21 AM, Francis Deslauriers francis.deslauriers at efficios.com wrote:

> cputime_t was changed to ull in the kernel commit: 858cf3a
> 
> Signed-off-by: Francis Deslauriers <francis.deslauriers at efficios.com>
> ---
> instrumentation/events/lttng-module/timer.h | 38 +++++++++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
> 
> diff --git a/instrumentation/events/lttng-module/timer.h
> b/instrumentation/events/lttng-module/timer.h
> index 9c02c96..d62fd25 100644
> --- a/instrumentation/events/lttng-module/timer.h
> +++ b/instrumentation/events/lttng-module/timer.h
> @@ -248,6 +248,26 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(timer_hrtimer_class,
> hrtimer_cancel,
>  *		zero, otherwise it is started
>  * @expires:	the itimers expiry time
>  */
> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
> +LTTNG_TRACEPOINT_EVENT_MAP(itimer_state,
> +
> +	timer_itimer_state,
> +
> +	TP_PROTO(int which, const struct itimerval *const value,
> +		 unsigned long long expires),
> +
> +	TP_ARGS(which, value, expires),
> +
> +	TP_FIELDS(
> +		ctf_integer(int, which, which)
> +		ctf_integer(unsigned long long, expires, expires)
> +		ctf_integer(long, value_sec, value->it_value.tv_sec)
> +		ctf_integer(long, value_usec, value->it_value.tv_usec)
> +		ctf_integer(long, interval_sec, value->it_interval.tv_sec)
> +		ctf_integer(long, interval_usec, value->it_interval.tv_usec)
> +	)
> +)
> +#else /* if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */
> LTTNG_TRACEPOINT_EVENT_MAP(itimer_state,
> 
> 	timer_itimer_state,
> @@ -266,6 +286,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(itimer_state,
> 		ctf_integer(long, interval_usec, value->it_interval.tv_usec)
> 	)
> )
> +#endif /* #else (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */
> 
> /**
>  * itimer_expire - called when itimer expires
> @@ -273,6 +294,22 @@ LTTNG_TRACEPOINT_EVENT_MAP(itimer_state,
>  * @pid:	pid of the process which owns the timer
>  * @now:	current time, used to calculate the latency of itimer
>  */
> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
> +LTTNG_TRACEPOINT_EVENT_MAP(itimer_expire,
> +
> +	timer_itimer_expire,
> +
> +	TP_PROTO(int which, struct pid *pid, unsigned long long now),
> +
> +	TP_ARGS(which, pid, now),
> +
> +	TP_FIELDS(
> +		ctf_integer(int , which, which)
> +		ctf_integer(pid_t, pid, pid_nr(pid))
> +		ctf_integer(unsigned long long, now, now)
> +	)
> +)
> +#else /* if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */
> LTTNG_TRACEPOINT_EVENT_MAP(itimer_expire,
> 
> 	timer_itimer_expire,
> @@ -287,6 +324,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(itimer_expire,
> 		ctf_integer(cputime_t, now, now)
> 	)
> )
> +#endif /* #else (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */
> 
> #endif /*  LTTNG_TRACE_TIMER_H */
> 
> --
> 2.7.4

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


More information about the lttng-dev mailing list