[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