From: Kienan Stewart Date: Mon, 15 Apr 2024 13:25:26 +0000 (-0400) Subject: Fix: timer_expire_entry changed in 4.19.312 X-Git-Tag: v2.12.17~2 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=a208676d5d136b1d52cc598f85374750e368587c;p=lttng-modules.git Fix: timer_expire_entry changed in 4.19.312 See upstream commit: commit bbb5b1c060d73ca96ccc8cceaa81f5e1a96e8fa4 Author: Anna-Maria Gleixner Date: Thu Mar 21 13:09:21 2019 +0100 timer/trace: Improve timer tracing [ Upstream commit f28d3d5346e97e60c81f933ac89ccf015430e5cf ] Timers are added to the timer wheel off by one. This is required in case a timer is queued directly before incrementing jiffies to prevent early timer expiry. When reading a timer trace and relying only on the expiry time of the timer in the timer_start trace point and on the now in the timer_expiry_entry trace point, it seems that the timer fires late. With the current timer_expiry_entry trace point information only now=jiffies is printed but not the value of base->clk. This makes it impossible to draw a conclusion to the index of base->clk and makes it impossible to examine timer problems without additional trace points. Therefore add the base->clk value to the timer_expire_entry trace point, to be able to calculate the index the timer base is located at during collecting expired timers. Change-Id: I2ebdbb637db0966ff51f45bf66916a59a496b50c Signed-off-by: Kienan Stewart Signed-off-by: Mathieu Desnoyers --- diff --git a/instrumentation/events/lttng-module/timer.h b/instrumentation/events/lttng-module/timer.h index 1d69758c..d92e9b98 100644 --- a/instrumentation/events/lttng-module/timer.h +++ b/instrumentation/events/lttng-module/timer.h @@ -90,6 +90,7 @@ LTTNG_TRACEPOINT_EVENT(timer_start, #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0)) */ #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0) || \ + LTTNG_KERNEL_RANGE(4,19,312, 4,20,0) || \ LTTNG_RHEL_KERNEL_RANGE(4,18,0,193,0,0, 4,19,0,0,0,0)) /** * timer_expire_entry - called immediately before the timer callback