new file mode 100644
@@ -0,0 +1,103 @@
+From c370026b0a077ba9491b07c559b343fde6353074 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Mon, 25 May 2026 10:38:18 -0400
+Subject: [PATCH] fix: hrtimer: Reduce trace noise in hrtimer_start() (v7.1)
+
+
+See upstream commit:
+
+ commit f2e388a019e4cf83a15883a3d1f1384298e9a6aa
+ Author: Thomas Gleixner <tglx@kernel.org>
+ Date: Tue Feb 24 17:36:59 2026 +0100
+
+ hrtimer: Reduce trace noise in hrtimer_start()
+
+ hrtimer_start() when invoked with an already armed timer traces like:
+
+ <comm>-.. [032] d.h2. 5.002263: hrtimer_cancel: hrtimer= ....
+ <comm>-.. [032] d.h1. 5.002263: hrtimer_start: hrtimer= ....
+
+ Which is incorrect as the timer doesn't get canceled. Just the expiry time
+ changes. The internal dequeue operation which is required for that is not
+ really interesting for trace analysis. But it makes it tedious to keep real
+ cancellations and the above case apart.
+
+ Remove the cancel tracing in hrtimer_start() and add a 'was_armed'
+ indicator to the hrtimer start tracepoint, which clearly indicates what the
+ state of the hrtimer is when hrtimer_start() is invoked:
+
+ <comm>-.. [032] d.h1. 6.200103: hrtimer_start: hrtimer= .... was_armed=0
+ <comm>-.. [032] d.h1. 6.200558: hrtimer_start: hrtimer= .... was_armed=1
+
+Change-Id: I37ee0ae0af665a51fd4f92adffb6b1dcb2ecd9d2
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Upstream-Status: Backport [https://github.com/lttng/lttng-modules/commit/b77f94c7a7109e70a97bf936b72d66d611187d61]
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+[YC: Backport: revert usage of non-defined-yet ctf_enum]
+Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
+---
+ include/instrumentation/events/timer.h | 39 ++++++++++++++++++++++++--
+ 1 file changed, 37 insertions(+), 2 deletions(-)
+
+diff --git a/include/instrumentation/events/timer.h b/include/instrumentation/events/timer.h
+index bd21c03..9d4476a 100644
+--- a/include/instrumentation/events/timer.h
++++ b/include/instrumentation/events/timer.h
+@@ -203,12 +203,43 @@ LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_init,
+ )
+ )
+
++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(7,1,0) || \
++ LTTNG_KERNEL_RANGE(7,0,10, 7,1,0) || \
++ LTTNG_KERNEL_RANGE(6,18,33, 6,19,0) || \
++ LTTNG_KERNEL_RANGE(6,12,91, 6,13,0) || \
++ LTTNG_KERNEL_RANGE(6,6,141, 6,7,0))
+ /**
+ * hrtimer_start - called when the hrtimer is started
+- * @timer: pointer to struct hrtimer
++ * @hrtimer: pointer to struct hrtimer
++ * @mode: the hrtimers mode
++ * @was_armed: Was armed when hrtimer_start*() was invoked
+ */
+-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,16,0) || \
++LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_start,
++
++ timer_hrtimer_start,
++
++ TP_PROTO(struct hrtimer *hrtimer, enum hrtimer_mode mode, bool was_armed),
++
++ TP_ARGS(hrtimer, mode, was_armed),
++
++ 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)
++ ctf_integer(bool, was_armed, was_armed)
++ )
++)
++#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,16,0) || \
+ LTTNG_RT_KERNEL_RANGE(4,14,0,0, 4,15,0,0))
++/**
++ * hrtimer_start - called when the hrtimer is started
++ * @hrtimer: pointer to struct hrtimer
++ * @mode: the hrtimers mode
++ */
+ LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_start,
+
+ timer_hrtimer_start,
+@@ -228,6 +259,10 @@ LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_start,
+ )
+ )
+ #else
++/**
++ * hrtimer_start - called when the hrtimer is started
++ * @hrtimer: pointer to struct hrtimer
++ */
+ LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_start,
+
+ timer_hrtimer_start,
@@ -15,10 +15,12 @@ SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
file://0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch \
file://0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch \
file://0001-Fix-sched_stat_runtime-changed-in-Linux-6.6.66.patch \
- "
+ "
# Use :append here so that the patch is applied also when using devupstream
-SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch"
+SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch \
+ file://0001-fix-hrtimer-Reduce-trace-noise-in-hrtimer_start-v7.1.patch \
+ "
SRC_URI[sha256sum] = "d85fcb66c7bd31003ab8735e8c77700e5e4f417b4c22fe1f20112cf435abad79"