lttng-modules: fix build error with 4.14 -rt kernel

Backport patch to fix build errors with 4.14 rt kernels. Should be
reverted after lttng-modules is upgraded to 2.10.6 in OE-core.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
This commit is contained in:
Anuj Mittal 2018-06-20 14:10:28 +08:00
parent 58089c3823
commit 55894192db
2 changed files with 91 additions and 1 deletions

View File

@ -0,0 +1,87 @@
From 5a32ce54ebf73b297a0bbccfe88c36994e15dcc4 Mon Sep 17 00:00:00 2001
From: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Date: Mon, 12 Feb 2018 18:31:40 +0100
Subject: [PATCH] Fix: update timer instrumentation on 4.16 and 4.14-rt
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>
Upstream-Status: Backport [http://git.lttng.org/?p=lttng-modules.git;a=commit;h=5a32ce54ebf73b297a0bbccfe88c36994e15dcc4]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.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.17.1

View File

@ -3,5 +3,8 @@ FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
LTTNG_PATCH = "${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/kernel','linux-intel linux-intel-rt','file://0002-lttng-modules-PKT-4.9-yocto-build-failed.patch','',d)}"
SRC_URI_append_intel-x86-common = " ${LTTNG_PATCH}"
SRC_URI_append_intel-x86-common = " \
${LTTNG_PATCH} \
file://0001-Fix-update-timer-instrumentation-on-4.16-and-4.14-rt.patch \
"