Fix: show warning for broken clock work-around
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 6 Oct 2016 11:45:35 +0000 (07:45 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 6 Oct 2016 11:46:32 +0000 (07:46 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
wrapper/trace-clock.c
wrapper/trace-clock.h

index 1b7a21767289d4f122a6e393bb37a7430c57026b..719c82518e9d9f6482199bd289b6771e5ab3681d 100644 (file)
@@ -27,3 +27,7 @@
 DEFINE_PER_CPU(local_t, lttng_last_tsc);
 EXPORT_PER_CPU_SYMBOL(lttng_last_tsc);
 #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */
+
+#ifdef LTTNG_CLOCK_NMI_SAFE_BROKEN
+#warning "Your kernel implements a bogus nmi-safe clock source. Falling back to the non-nmi-safe clock source, which discards events traced from NMI context. Upgrade your kernel to resolve this situation."
+#endif
index 001b4f404298f55c77784c8f256905192dbbd2d0..05472dc1cebcb341970e2f659ca64f1cefc058fa 100644 (file)
  * 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))
+#define LTTNG_CLOCK_NMI_SAFE_BROKEN
+#endif
+
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0) \
-       && !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))
+       && !defined(LTTNG_CLOCK_NMI_SAFE_BROKEN))
 
 DECLARE_PER_CPU(local_t, lttng_last_tsc);
 
This page took 0.026541 seconds and 4 git commands to generate.