Fix: timer_expire_entry changed in 4.19.312
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:10:45 +0000 (10:10 -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>
include/instrumentation/events/timer.h

index 193650bb3780d5755fd7d8878afba027ec9ef81a..2fc280c11b8d2ae30aafef2003e073f6279c585d 100644 (file)
@@ -124,6 +124,7 @@ LTTNG_TRACEPOINT_EVENT(timer_start,
 #endif
 
 #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.029668 seconds and 4 git commands to generate.