From 55894192dbf4278ccb3bc25e059d6f62fbb8003f Mon Sep 17 00:00:00 2001 From: Anuj Mittal Date: Wed, 20 Jun 2018 14:10:28 +0800 Subject: 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 --- ...timer-instrumentation-on-4.16-and-4.14-rt.patch | 87 ++++++++++++++++++++++ recipes-kernel/lttng/lttng-modules_%.bbappend | 5 +- 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 recipes-kernel/lttng/lttng-modules/0001-Fix-update-timer-instrumentation-on-4.16-and-4.14-rt.patch (limited to 'recipes-kernel/lttng') diff --git a/recipes-kernel/lttng/lttng-modules/0001-Fix-update-timer-instrumentation-on-4.16-and-4.14-rt.patch b/recipes-kernel/lttng/lttng-modules/0001-Fix-update-timer-instrumentation-on-4.16-and-4.14-rt.patch new file mode 100644 index 00000000..9fc4247c --- /dev/null +++ b/recipes-kernel/lttng/lttng-modules/0001-Fix-update-timer-instrumentation-on-4.16-and-4.14-rt.patch @@ -0,0 +1,87 @@ +From 5a32ce54ebf73b297a0bbccfe88c36994e15dcc4 Mon Sep 17 00:00:00 2001 +From: Rasmus Villemoes +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 + 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 + 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 +Signed-off-by: Michael Jeanson +Signed-off-by: Mathieu Desnoyers + +Upstream-Status: Backport [http://git.lttng.org/?p=lttng-modules.git;a=commit;h=5a32ce54ebf73b297a0bbccfe88c36994e15dcc4] +Signed-off-by: Anuj Mittal + +--- + 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 + diff --git a/recipes-kernel/lttng/lttng-modules_%.bbappend b/recipes-kernel/lttng/lttng-modules_%.bbappend index dc1c4a74..5dfaf796 100644 --- a/recipes-kernel/lttng/lttng-modules_%.bbappend +++ b/recipes-kernel/lttng/lttng-modules_%.bbappend @@ -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 \ + " -- cgit v1.2.3-54-g00ecf