LTTng trace-clock: shrink kernel blacklist
[lttng-modules.git] / wrapper / trace-clock.h
index 6ea9e81cb6e44cbb0e172a595cbe33d2f9ae95de..d31141dc463f8f629279a42fc976f8c605cf8cac 100644 (file)
 #include <linux/ktime.h>
 #include <linux/time.h>
 #include <linux/hrtimer.h>
+#include <linux/version.h>
+#include "../lttng-kernel-version.h"
 #include "random.h"
 
+#if LTTNG_KERNEL_RANGE(3,10,0, 3,10,13) || LTTNG_KERNEL_RANGE(3,11,0, 3,11,2)
+#error "Linux kernels 3.10 and 3.11 introduce a deadlock in the timekeeping subsystem. Fixed by commit 7bd36014460f793c19e7d6c94dab67b0afcfcb7f \"timekeeping: Fix HRTICK related deadlock from ntp lock changes\" in Linux."
+#endif
+
 static inline u64 trace_clock_monotonic_wrapper(void)
 {
        ktime_t ktime;
@@ -46,7 +52,7 @@ static inline u64 trace_clock_monotonic_wrapper(void)
                return (u64) -EIO;
 
        ktime = ktime_get();
-       return (u64) ktime.tv64;
+       return ktime_to_ns(ktime);
 }
 
 static inline u32 trace_clock_read32(void)
This page took 0.023645 seconds and 4 git commands to generate.