Files
openwrt_yocto/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-hrtimer-Reduce-trace-noise-in-hrtimer_start-v7.1.patch
T
francis.wang 4c86c082a2 Initial commit: OpenWrt-Yocto monorepo
Combine poky (Yocto scarthgap), meta-openembedded (scarthgap), and
meta-openwrt into a single repository.

Components:
- poky/             Yocto core framework (BitBake + OE-Core)
- meta-openembedded/ Community layers (meta-oe, meta-python, meta-networking)
- meta-openwrt/     OpenWrt customization layer
- setup-env.sh      One-click build environment setup
- README.md         Project documentation
2026-07-11 13:28:01 +08:00

104 lines
3.8 KiB
Diff

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,