Fix: timer_expire_entry changed in 4.19.312 stable-2.12
authorKienan Stewart <kstewart@efficios.com>
Mon, 15 Apr 2024 13:25:26 +0000 (09:25 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 15 Apr 2024 14:11:14 +0000 (10:11 -0400)
See upstream commit:

    commit bbb5b1c060d73ca96ccc8cceaa81f5e1a96e8fa4
    Author: Anna-Maria Gleixner <anna-maria@linutronix.de>
    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 <kstewart@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
instrumentation/events/lttng-module/timer.h

index 1d69758cd56320aa02f51642b01109f6ce0f7b5b..d92e9b98bcdfe16bb103e06de9798044cf0e810f 100644 (file)
@@ -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
This page took 0.025761 seconds and 4 git commands to generate.