1 commit b258b549a9bc218a08c102ba54aac2c1d477b45a
2 Author: Kienan Stewart <kstewart@efficios.com>
3 Date: Mon Apr 15 09:25:26 2024 -0400
5 Fix: timer_expire_entry changed in 4.19.312
9 commit bbb5b1c060d73ca96ccc8cceaa81f5e1a96e8fa4
10 Author: Anna-Maria Gleixner <anna-maria@linutronix.de>
11 Date: Thu Mar 21 13:09:21 2019 +0100
13 timer/trace: Improve timer tracing
15 [ Upstream commit f28d3d5346e97e60c81f933ac89ccf015430e5cf ]
17 Timers are added to the timer wheel off by one. This is required in
18 case a timer is queued directly before incrementing jiffies to prevent
21 When reading a timer trace and relying only on the expiry time of the timer
22 in the timer_start trace point and on the now in the timer_expiry_entry
23 trace point, it seems that the timer fires late. With the current
24 timer_expiry_entry trace point information only now=jiffies is printed but
25 not the value of base->clk. This makes it impossible to draw a conclusion
26 to the index of base->clk and makes it impossible to examine timer problems
27 without additional trace points.
29 Therefore add the base->clk value to the timer_expire_entry trace
30 point, to be able to calculate the index the timer base is located at
31 during collecting expired timers.
33 Change-Id: I2ebdbb637db0966ff51f45bf66916a59a496b50c
34 Signed-off-by: Kienan Stewart <kstewart@efficios.com>
35 Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
37 diff --git a/include/instrumentation/events/timer.h b/include/instrumentation/events/timer.h
38 index bd21c037..77c4111a 100644
39 --- a/include/instrumentation/events/timer.h
40 +++ b/include/instrumentation/events/timer.h
41 @@ -112,6 +112,7 @@ LTTNG_TRACEPOINT_EVENT(timer_start,
44 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0) || \
45 + LTTNG_KERNEL_RANGE(4,19,312, 4,20,0) || \
46 LTTNG_RHEL_KERNEL_RANGE(4,18,0,193,0,0, 4,19,0,0,0,0))
48 * timer_expire_entry - called immediately before the timer callback