Fix: timer instrumentation for RHEL 7.6
[lttng-modules.git] / instrumentation / events / lttng-module / timer.h
index d62fd250b764fa7fb48f707700e1269c0d189a42..8807ad514ed4c203129bf0a87583a5fa577babaf 100644 (file)
@@ -44,7 +44,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init,
        TP_ARGS(timer)
 )
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0) || \
+       LTTNG_RHEL_KERNEL_RANGE(3,10,0,957,0,0, 3,11,0,0,0,0))
 /**
  * timer_start - called when the timer is started
  * @timer:     pointer to struct timer_list
@@ -160,6 +161,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 +199,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.023864 seconds and 4 git commands to generate.