Linux commit 27727df240c7 ("Avoid taking lock in NMI path with
CONFIG_DEBUG_TIMEKEEPING"), changed the logic to open-code
the timekeeping_get_ns() function, but forgot to include
the unit conversion from cycles to nanoseconds, breaking the
function's output, which impacts LTTng.

We expected Linux commit 58bfea9532 "timekeeping: Fix
__ktime_get_fast_ns() regression" to make its way into stable
kernels promptly, but it appears new stable kernel releases were
done before the fix was cherry-picked from the master branch.

We therefore need to bump the version ranges for the work-around
in lttng-modules.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com>
CC: Greg Kroah-Hartman <gre...@linuxfoundation.org>
CC: John Stultz <john.stu...@linaro.org>
---
 wrapper/trace-clock.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/wrapper/trace-clock.h b/wrapper/trace-clock.h
index 14d41af..496fec4 100644
--- a/wrapper/trace-clock.h
+++ b/wrapper/trace-clock.h
@@ -52,10 +52,10 @@ extern struct lttng_trace_clock *lttng_trace_clock;
  * CONFIG_DEBUG_TIMEKEEPING") introduces a buggy ktime_get_mono_fast_ns().
  * This is fixed by patch "timekeeping: Fix __ktime_get_fast_ns() regression".
  */
-#if (LTTNG_KERNEL_RANGE(4,8,0, 4,8,1) \
-       || LTTNG_KERNEL_RANGE(4,7,4, 4,7,7) \
-       || LTTNG_KERNEL_RANGE(4,4,20, 4,4,24) \
-       || LTTNG_KERNEL_RANGE(4,1,32, 4,1,34))
+#if (LTTNG_KERNEL_RANGE(4,8,0, 4,8,2) \
+       || LTTNG_KERNEL_RANGE(4,7,4, 4,7,8) \
+       || LTTNG_KERNEL_RANGE(4,4,20, 4,4,25) \
+       || LTTNG_KERNEL_RANGE(4,1,32, 4,1,35))
 #define LTTNG_CLOCK_NMI_SAFE_BROKEN
 #endif
 
-- 
2.1.4

_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

Reply via email to