[lttng-dev] [PATCH lttng-modules] Fix: update timer instrumentation on 4.16 and 4.14-rt

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Mon Feb 12 13:45:19 EST 2018


All 3 patches merged into master, 2.10, 2.9, thanks!

Mathieu

----- On Feb 12, 2018, at 12:31 PM, Michael Jeanson mjeanson at efficios.com wrote:

> From: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
> 
> See upstream commit :
> 
>  commit 63e2ed3659752a4850e0ef3a07f809988fcd74a4
>  Author: Anna-Maria Gleixner <anna-maria at linutronix.de>
>  Date:   Thu Dec 21 11:41:38 2017 +0100
> 
>    tracing/hrtimer: Print the hrtimer mode in the 'hrtimer_start' tracepoint
> 
>    The 'hrtimer_start' tracepoint lacks the mode information. The mode is
>    important because consecutive starts can switch from ABS to REL or from
>    PINNED to non PINNED.
> 
>    Append the mode field.
> 
> See linux-rt commit :
> 
>  commit 6ee32a49b1ed61c08ac9f1c9fcbf83d3c749b71d
>  Author: Anna-Maria Gleixner <anna-maria at linutronix.de>
>  Date:   Sun Oct 22 23:39:46 2017 +0200
> 
>    tracing: hrtimer: Print hrtimer mode in hrtimer_start tracepoint
> 
>    The hrtimer_start tracepoint lacks the mode information. The mode is
>    important because consecutive starts can switch from ABS to REL or from
>    PINNED to non PINNED.
> 
>    Add the mode information.
> 
> Signed-off-by: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
> Signed-off-by: Michael Jeanson <mjeanson at efficios.com>
> ---
> instrumentation/events/lttng-module/timer.h | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
> 
> diff --git a/instrumentation/events/lttng-module/timer.h
> b/instrumentation/events/lttng-module/timer.h
> index d62fd25..6f0cb7f 100644
> --- a/instrumentation/events/lttng-module/timer.h
> +++ b/instrumentation/events/lttng-module/timer.h
> @@ -160,6 +160,27 @@ LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_init,
>  * hrtimer_start - called when the hrtimer is started
>  * @timer: pointer to struct hrtimer
>  */
> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,16,0) || \
> +	LTTNG_RT_KERNEL_RANGE(4,14,0,0, 4,15,0,0))
> +LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_start,
> +
> +	timer_hrtimer_start,
> +
> +	TP_PROTO(struct hrtimer *hrtimer, enum hrtimer_mode mode),
> +
> +	TP_ARGS(hrtimer, mode),
> +
> +	TP_FIELDS(
> +		ctf_integer_hex(void *, hrtimer, hrtimer)
> +		ctf_integer_hex(void *, function, hrtimer->function)
> +		ctf_integer(s64, expires,
> +			lttng_ktime_get_tv64(hrtimer_get_expires(hrtimer)))
> +		ctf_integer(s64, softexpires,
> +			lttng_ktime_get_tv64(hrtimer_get_softexpires(hrtimer)))
> +		ctf_integer(enum hrtimer_mode, mode, mode)
> +	)
> +)
> +#else
> LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_start,
> 
> 	timer_hrtimer_start,
> @@ -177,6 +198,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_start,
> 			lttng_ktime_get_tv64(hrtimer_get_softexpires(hrtimer)))
> 	)
> )
> +#endif
> 
> /**
>  * htimmer_expire_entry - called immediately before the hrtimer callback
> --
> 2.7.4

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


More information about the lttng-dev mailing list