Fix: update timer instrumentation on 4.16 and 4.14-rt
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>
Mon, 12 Feb 2018 17:31:40 +0000 (18:31 +0100)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 12 Feb 2018 18:43:17 +0000 (13:43 -0500)
See upstream commit :

  commit 63e2ed3659752a4850e0ef3a07f809988fcd74a4
  Author: Anna-Maria Gleixner <anna-maria@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@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@prevas.dk>
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
instrumentation/events/lttng-module/timer.h

index d62fd250b764fa7fb48f707700e1269c0d189a42..6f0cb7f333fdf5bd5bade568df9e4010bdf8fc7d 100644 (file)
@@ -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
This page took 0.028586 seconds and 4 git commands to generate.