All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH lttng-modules] Fix: Add granularity to RHEL kernel version checks
@ 2016-03-29 23:32 Michael Jeanson
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Jeanson @ 2016-03-29 23:32 UTC (permalink / raw)
  To: lttng-dev

Our RHEL kernel version macros were based on the major and minor version
of the distribution version like "7.2" instead of the full kernel version
like "327.4.4". This prevented us from adding compatibility changes with
sufficient granularity.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
---
 Makefile.ABI.workarounds                        |  6 ++++++
 abi-rhel-version.sh                             | 21 +++++++++++++++++++++
 instrumentation/events/lttng-module/block.h     |  2 +-
 instrumentation/events/lttng-module/kvm.h       |  4 ++--
 instrumentation/events/lttng-module/scsi.h      |  2 +-
 instrumentation/events/lttng-module/writeback.h |  3 ++-
 lttng-kernel-version.h                          | 24 ++++++++++++++++--------
 wrapper/trace-clock.h                           |  2 +-
 8 files changed, 50 insertions(+), 14 deletions(-)
 create mode 100755 abi-rhel-version.sh

diff --git a/Makefile.ABI.workarounds b/Makefile.ABI.workarounds
index d30aeaf..470bdef 100644
--- a/Makefile.ABI.workarounds
+++ b/Makefile.ABI.workarounds
@@ -10,6 +10,12 @@ ifneq ($(DEB_API_VERSION), 0)
   ccflags-y += -DDEBIAN_API_VERSION=$(DEB_API_VERSION)
 endif
 
+RHEL_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-rhel-version.sh $(CURDIR))
+
+ifneq ($(RHEL_API_VERSION), 0)
+  ccflags-y += -DRHEL_API_VERSION=$(RHEL_API_VERSION)
+endif
+
 RT_PATCH_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/rt-patch-version.sh $(CURDIR))
 
 ifneq ($(RT_PATCH_VERSION), 0)
diff --git a/abi-rhel-version.sh b/abi-rhel-version.sh
new file mode 100755
index 0000000..30f3c17
--- /dev/null
+++ b/abi-rhel-version.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+# First argument is the path to the kernel headers.
+KPATH=$1
+
+if [ ! -f ${KPATH}/include/generated/uapi/linux/version.h ]; then
+	echo 0
+	exit 0
+fi
+
+# Assuming KPATH is the target kernel headers directory
+RHEL_RELEASE=$(sed -rn 's/^#define RHEL_RELEASE "(.*)"/\1/p' ${KPATH}/include/generated/uapi/linux/version.h)
+
+RHEL_RELEASE_MAJOR=$(echo ${RHEL_RELEASE} | sed -r 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\1/')
+RHEL_RELEASE_MINOR=$(echo ${RHEL_RELEASE} | sed -r 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\2/')
+RHEL_RELEASE_PATCH=$(echo ${RHEL_RELEASE} | sed -r 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\3/')
+
+# Combine all update numbers into one
+RHEL_API_VERSION=$((RHEL_RELEASE_MAJOR * 10000 + RHEL_RELEASE_MINOR * 100 + RHEL_RELEASE_PATCH))
+
+echo ${RHEL_API_VERSION}
diff --git a/instrumentation/events/lttng-module/block.h b/instrumentation/events/lttng-module/block.h
index b8d9390..75cb11b 100644
--- a/instrumentation/events/lttng-module/block.h
+++ b/instrumentation/events/lttng-module/block.h
@@ -203,7 +203,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_requeue,
 	|| LTTNG_KERNEL_RANGE(3,4,91, 3,5,0)		\
 	|| LTTNG_KERNEL_RANGE(3,2,58, 3,3,0)		\
 	|| LTTNG_UBUNTU_KERNEL_RANGE(3,13,11,28, 3,14,0,0)	\
-	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,7,1, 3,11,0,0,0))
+	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,229,0,0, 3,11,0,0,0,0))
 
 /**
  * block_rq_complete - block IO operation completed by device driver
diff --git a/instrumentation/events/lttng-module/kvm.h b/instrumentation/events/lttng-module/kvm.h
index 725a601..a8b3e9a 100644
--- a/instrumentation/events/lttng-module/kvm.h
+++ b/instrumentation/events/lttng-module/kvm.h
@@ -112,7 +112,7 @@ LTTNG_TRACEPOINT_EVENT(kvm_fpu,
 )
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0) \
-	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,7,2, 3,11,0,0,0))
+	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,327,0,0, 3,11,0,0,0,0))
 
 LTTNG_TRACEPOINT_EVENT(kvm_age_page,
 	TP_PROTO(ulong gfn, int level, struct kvm_memory_slot *slot, int ref),
@@ -199,7 +199,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_async_pf_nopresent_ready, kvm_async_pf_ready
 )
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0) \
-	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,7,1, 3,11,0,0,0))
+	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,229,0,0, 3,11,0,0,0,0))
 
 LTTNG_TRACEPOINT_EVENT(
 	kvm_async_pf_completed,
diff --git a/instrumentation/events/lttng-module/scsi.h b/instrumentation/events/lttng-module/scsi.h
index dd5f084..e57e460 100644
--- a/instrumentation/events/lttng-module/scsi.h
+++ b/instrumentation/events/lttng-module/scsi.h
@@ -16,7 +16,7 @@
 #define scsi_opcode_name(opcode)	{ opcode, #opcode }
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0) \
-	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,7,2, 3,11,0,0,0))
+	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,327,0,0, 3,11,0,0,0,0))
 
 #define show_opcode_name(val)					\
 	__print_symbolic(val,					\
diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h
index cfa903e..a215f55 100644
--- a/instrumentation/events/lttng-module/writeback.h
+++ b/instrumentation/events/lttng-module/writeback.h
@@ -13,7 +13,8 @@
 #ifndef _TRACE_WRITEBACK_DEF_
 #define _TRACE_WRITEBACK_DEF_
 
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0) && \
+	LTTNG_RHEL_VERSION_CODE < LTTNG_RHEL_KERNEL_VERSION(3,10,0,327,10,1))
 static inline struct backing_dev_info *inode_to_bdi(struct inode *inode)
 {
 	struct super_block *sb = inode->i_sb;
diff --git a/lttng-kernel-version.h b/lttng-kernel-version.h
index ac61739..d9a5f13 100644
--- a/lttng-kernel-version.h
+++ b/lttng-kernel-version.h
@@ -39,6 +39,8 @@
 	(LINUX_VERSION_CODE >= KERNEL_VERSION(a_low, b_low, c_low) && \
 	 LINUX_VERSION_CODE < KERNEL_VERSION(a_high, b_high, c_high))
 
+/* Ubuntu */
+
 #define LTTNG_UBUNTU_KERNEL_VERSION(a, b, c, d) \
 	(((a) << 24) + ((b) << 16) + ((c) << 8) + (d))
 
@@ -56,6 +58,8 @@
 		LTTNG_UBUNTU_VERSION_CODE < \
 		LTTNG_UBUNTU_KERNEL_VERSION(a_high, b_high, c_high, d_high))
 
+/* Debian */
+
 #define LTTNG_DEBIAN_KERNEL_VERSION(a, b, c, d, e, f) \
 	(((((a) << 16) + ((b) << 8) + (c)) * 1000000ULL) + ((d) * 10000) + ((e) * 100) + (f))
 
@@ -73,22 +77,26 @@
 		LTTNG_DEBIAN_VERSION_CODE < \
 		LTTNG_DEBIAN_KERNEL_VERSION(a_high, b_high, c_high, d_high, e_high, f_high))
 
-#define LTTNG_RHEL_KERNEL_VERSION(a, b, c, d, e) \
-	(((a) * (1ULL << 32)) + ((b) << 24) + ((c) << 16) + ((d) << 8) + (e))
+#define LTTNG_RHEL_KERNEL_VERSION(a, b, c, d, e, f) \
+	(((((a) << 16) + ((b) << 8) + (c)) * 10000000ULL) + ((d) * 10000) + ((e) * 100) + (f))
+
+/* RHEL */
 
-#ifdef RHEL_RELEASE_CODE
+#ifdef RHEL_API_VERSION
 #define LTTNG_RHEL_VERSION_CODE \
-	((LINUX_VERSION_CODE * (1ULL << 16)) + RHEL_RELEASE_CODE)
+	((LINUX_VERSION_CODE * 10000000ULL) + RHEL_API_VERSION)
 #else
 #define LTTNG_RHEL_VERSION_CODE		0
 #endif
 
-#define LTTNG_RHEL_KERNEL_RANGE(a_low, b_low, c_low, d_low, e_low, \
-		a_high, b_high, c_high, d_high, e_high) \
+#define LTTNG_RHEL_KERNEL_RANGE(a_low, b_low, c_low, d_low, e_low, f_low, \
+		a_high, b_high, c_high, d_high, e_high, f_high) \
 	(LTTNG_RHEL_VERSION_CODE >= \
-		LTTNG_RHEL_KERNEL_VERSION(a_low, b_low, c_low, d_low, e_low) && \
+		LTTNG_RHEL_KERNEL_VERSION(a_low, b_low, c_low, d_low, e_low, f_low) && \
 		LTTNG_RHEL_VERSION_CODE < \
-		LTTNG_RHEL_KERNEL_VERSION(a_high, b_high, c_high, d_high, e_high))
+		LTTNG_RHEL_KERNEL_VERSION(a_high, b_high, c_high, d_high, e_high, f_high))
+
+/* RT patch */
 
 #define LTTNG_RT_KERNEL_VERSION(a, b, c, d) \
 	(((a) << 24) + ((b) << 16) + ((c) << 8) + (d))
diff --git a/wrapper/trace-clock.h b/wrapper/trace-clock.h
index efb49f4..1d14cb9 100644
--- a/wrapper/trace-clock.h
+++ b/wrapper/trace-clock.h
@@ -40,7 +40,7 @@
 #include <wrapper/percpu-defs.h>
 #include <wrapper/random.h>
 
-#if ((LTTNG_KERNEL_RANGE(3,10,0, 3,10,14) && !LTTNG_RHEL_KERNEL_RANGE(3,10,0,7,0, 3,10,14,0,0)) \
+#if ((LTTNG_KERNEL_RANGE(3,10,0, 3,10,14) && !LTTNG_RHEL_KERNEL_RANGE(3,10,0,123,0,0, 3,10,14,0,0,0)) \
 	|| LTTNG_KERNEL_RANGE(3,11,0, 3,11,3))
 #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
-- 
2.7.4

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

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH lttng-modules] Fix: Add granularity to RHEL kernel version checks
       [not found] <1459294339-32231-1-git-send-email-mjeanson@efficios.com>
@ 2016-03-30  0:46 ` Mathieu Desnoyers
  0 siblings, 0 replies; 2+ messages in thread
From: Mathieu Desnoyers @ 2016-03-30  0:46 UTC (permalink / raw)
  To: Michael Jeanson; +Cc: lttng-dev

merged into master, stable-2.8 and stable-2.7, thanks!

Mathieu

----- On Mar 29, 2016, at 7:32 PM, Michael Jeanson mjeanson@efficios.com wrote:

> Our RHEL kernel version macros were based on the major and minor version
> of the distribution version like "7.2" instead of the full kernel version
> like "327.4.4". This prevented us from adding compatibility changes with
> sufficient granularity.
> 
> Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
> ---
> Makefile.ABI.workarounds                        |  6 ++++++
> abi-rhel-version.sh                             | 21 +++++++++++++++++++++
> instrumentation/events/lttng-module/block.h     |  2 +-
> instrumentation/events/lttng-module/kvm.h       |  4 ++--
> instrumentation/events/lttng-module/scsi.h      |  2 +-
> instrumentation/events/lttng-module/writeback.h |  3 ++-
> lttng-kernel-version.h                          | 24 ++++++++++++++++--------
> wrapper/trace-clock.h                           |  2 +-
> 8 files changed, 50 insertions(+), 14 deletions(-)
> create mode 100755 abi-rhel-version.sh
> 
> diff --git a/Makefile.ABI.workarounds b/Makefile.ABI.workarounds
> index d30aeaf..470bdef 100644
> --- a/Makefile.ABI.workarounds
> +++ b/Makefile.ABI.workarounds
> @@ -10,6 +10,12 @@ ifneq ($(DEB_API_VERSION), 0)
>   ccflags-y += -DDEBIAN_API_VERSION=$(DEB_API_VERSION)
> endif
> 
> +RHEL_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-rhel-version.sh
> $(CURDIR))
> +
> +ifneq ($(RHEL_API_VERSION), 0)
> +  ccflags-y += -DRHEL_API_VERSION=$(RHEL_API_VERSION)
> +endif
> +
> RT_PATCH_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/rt-patch-version.sh
> $(CURDIR))
> 
> ifneq ($(RT_PATCH_VERSION), 0)
> diff --git a/abi-rhel-version.sh b/abi-rhel-version.sh
> new file mode 100755
> index 0000000..30f3c17
> --- /dev/null
> +++ b/abi-rhel-version.sh
> @@ -0,0 +1,21 @@
> +#!/bin/sh
> +
> +# First argument is the path to the kernel headers.
> +KPATH=$1
> +
> +if [ ! -f ${KPATH}/include/generated/uapi/linux/version.h ]; then
> +	echo 0
> +	exit 0
> +fi
> +
> +# Assuming KPATH is the target kernel headers directory
> +RHEL_RELEASE=$(sed -rn 's/^#define RHEL_RELEASE "(.*)"/\1/p'
> ${KPATH}/include/generated/uapi/linux/version.h)
> +
> +RHEL_RELEASE_MAJOR=$(echo ${RHEL_RELEASE} | sed -r
> 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\1/')
> +RHEL_RELEASE_MINOR=$(echo ${RHEL_RELEASE} | sed -r
> 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\2/')
> +RHEL_RELEASE_PATCH=$(echo ${RHEL_RELEASE} | sed -r
> 's/^([0-9]+)\.([0-9]+)\.([0-9]+)/\3/')
> +
> +# Combine all update numbers into one
> +RHEL_API_VERSION=$((RHEL_RELEASE_MAJOR * 10000 + RHEL_RELEASE_MINOR * 100 +
> RHEL_RELEASE_PATCH))
> +
> +echo ${RHEL_API_VERSION}
> diff --git a/instrumentation/events/lttng-module/block.h
> b/instrumentation/events/lttng-module/block.h
> index b8d9390..75cb11b 100644
> --- a/instrumentation/events/lttng-module/block.h
> +++ b/instrumentation/events/lttng-module/block.h
> @@ -203,7 +203,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error,
> block_rq_requeue,
> 	|| LTTNG_KERNEL_RANGE(3,4,91, 3,5,0)		\
> 	|| LTTNG_KERNEL_RANGE(3,2,58, 3,3,0)		\
> 	|| LTTNG_UBUNTU_KERNEL_RANGE(3,13,11,28, 3,14,0,0)	\
> -	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,7,1, 3,11,0,0,0))
> +	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,229,0,0, 3,11,0,0,0,0))
> 
> /**
>  * block_rq_complete - block IO operation completed by device driver
> diff --git a/instrumentation/events/lttng-module/kvm.h
> b/instrumentation/events/lttng-module/kvm.h
> index 725a601..a8b3e9a 100644
> --- a/instrumentation/events/lttng-module/kvm.h
> +++ b/instrumentation/events/lttng-module/kvm.h
> @@ -112,7 +112,7 @@ LTTNG_TRACEPOINT_EVENT(kvm_fpu,
> )
> 
> #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0) \
> -	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,7,2, 3,11,0,0,0))
> +	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,327,0,0, 3,11,0,0,0,0))
> 
> LTTNG_TRACEPOINT_EVENT(kvm_age_page,
> 	TP_PROTO(ulong gfn, int level, struct kvm_memory_slot *slot, int ref),
> @@ -199,7 +199,7 @@
> LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_async_pf_nopresent_ready,
> kvm_async_pf_ready
> )
> 
> #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0) \
> -	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,7,1, 3,11,0,0,0))
> +	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,229,0,0, 3,11,0,0,0,0))
> 
> LTTNG_TRACEPOINT_EVENT(
> 	kvm_async_pf_completed,
> diff --git a/instrumentation/events/lttng-module/scsi.h
> b/instrumentation/events/lttng-module/scsi.h
> index dd5f084..e57e460 100644
> --- a/instrumentation/events/lttng-module/scsi.h
> +++ b/instrumentation/events/lttng-module/scsi.h
> @@ -16,7 +16,7 @@
> #define scsi_opcode_name(opcode)	{ opcode, #opcode }
> 
> #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0) \
> -	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,7,2, 3,11,0,0,0))
> +	|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,327,0,0, 3,11,0,0,0,0))
> 
> #define show_opcode_name(val)					\
> 	__print_symbolic(val,					\
> diff --git a/instrumentation/events/lttng-module/writeback.h
> b/instrumentation/events/lttng-module/writeback.h
> index cfa903e..a215f55 100644
> --- a/instrumentation/events/lttng-module/writeback.h
> +++ b/instrumentation/events/lttng-module/writeback.h
> @@ -13,7 +13,8 @@
> #ifndef _TRACE_WRITEBACK_DEF_
> #define _TRACE_WRITEBACK_DEF_
> 
> -#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0))
> +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0) && \
> +	LTTNG_RHEL_VERSION_CODE < LTTNG_RHEL_KERNEL_VERSION(3,10,0,327,10,1))
> static inline struct backing_dev_info *inode_to_bdi(struct inode *inode)
> {
> 	struct super_block *sb = inode->i_sb;
> diff --git a/lttng-kernel-version.h b/lttng-kernel-version.h
> index ac61739..d9a5f13 100644
> --- a/lttng-kernel-version.h
> +++ b/lttng-kernel-version.h
> @@ -39,6 +39,8 @@
> 	(LINUX_VERSION_CODE >= KERNEL_VERSION(a_low, b_low, c_low) && \
> 	 LINUX_VERSION_CODE < KERNEL_VERSION(a_high, b_high, c_high))
> 
> +/* Ubuntu */
> +
> #define LTTNG_UBUNTU_KERNEL_VERSION(a, b, c, d) \
> 	(((a) << 24) + ((b) << 16) + ((c) << 8) + (d))
> 
> @@ -56,6 +58,8 @@
> 		LTTNG_UBUNTU_VERSION_CODE < \
> 		LTTNG_UBUNTU_KERNEL_VERSION(a_high, b_high, c_high, d_high))
> 
> +/* Debian */
> +
> #define LTTNG_DEBIAN_KERNEL_VERSION(a, b, c, d, e, f) \
> 	(((((a) << 16) + ((b) << 8) + (c)) * 1000000ULL) + ((d) * 10000) + ((e) * 100) +
> 	(f))
> 
> @@ -73,22 +77,26 @@
> 		LTTNG_DEBIAN_VERSION_CODE < \
> 		LTTNG_DEBIAN_KERNEL_VERSION(a_high, b_high, c_high, d_high, e_high, f_high))
> 
> -#define LTTNG_RHEL_KERNEL_VERSION(a, b, c, d, e) \
> -	(((a) * (1ULL << 32)) + ((b) << 24) + ((c) << 16) + ((d) << 8) + (e))
> +#define LTTNG_RHEL_KERNEL_VERSION(a, b, c, d, e, f) \
> +	(((((a) << 16) + ((b) << 8) + (c)) * 10000000ULL) + ((d) * 10000) + ((e) *
> 100) + (f))
> +
> +/* RHEL */
> 
> -#ifdef RHEL_RELEASE_CODE
> +#ifdef RHEL_API_VERSION
> #define LTTNG_RHEL_VERSION_CODE \
> -	((LINUX_VERSION_CODE * (1ULL << 16)) + RHEL_RELEASE_CODE)
> +	((LINUX_VERSION_CODE * 10000000ULL) + RHEL_API_VERSION)
> #else
> #define LTTNG_RHEL_VERSION_CODE		0
> #endif
> 
> -#define LTTNG_RHEL_KERNEL_RANGE(a_low, b_low, c_low, d_low, e_low, \
> -		a_high, b_high, c_high, d_high, e_high) \
> +#define LTTNG_RHEL_KERNEL_RANGE(a_low, b_low, c_low, d_low, e_low, f_low, \
> +		a_high, b_high, c_high, d_high, e_high, f_high) \
> 	(LTTNG_RHEL_VERSION_CODE >= \
> -		LTTNG_RHEL_KERNEL_VERSION(a_low, b_low, c_low, d_low, e_low) && \
> +		LTTNG_RHEL_KERNEL_VERSION(a_low, b_low, c_low, d_low, e_low, f_low) && \
> 		LTTNG_RHEL_VERSION_CODE < \
> -		LTTNG_RHEL_KERNEL_VERSION(a_high, b_high, c_high, d_high, e_high))
> +		LTTNG_RHEL_KERNEL_VERSION(a_high, b_high, c_high, d_high, e_high, f_high))
> +
> +/* RT patch */
> 
> #define LTTNG_RT_KERNEL_VERSION(a, b, c, d) \
> 	(((a) << 24) + ((b) << 16) + ((c) << 8) + (d))
> diff --git a/wrapper/trace-clock.h b/wrapper/trace-clock.h
> index efb49f4..1d14cb9 100644
> --- a/wrapper/trace-clock.h
> +++ b/wrapper/trace-clock.h
> @@ -40,7 +40,7 @@
> #include <wrapper/percpu-defs.h>
> #include <wrapper/random.h>
> 
> -#if ((LTTNG_KERNEL_RANGE(3,10,0, 3,10,14) &&
> !LTTNG_RHEL_KERNEL_RANGE(3,10,0,7,0, 3,10,14,0,0)) \
> +#if ((LTTNG_KERNEL_RANGE(3,10,0, 3,10,14) &&
> !LTTNG_RHEL_KERNEL_RANGE(3,10,0,123,0,0, 3,10,14,0,0,0)) \
> 	|| LTTNG_KERNEL_RANGE(3,11,0, 3,11,3))
> #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
> --
> 2.7.4

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-03-30  0:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-29 23:32 [PATCH lttng-modules] Fix: Add granularity to RHEL kernel version checks Michael Jeanson
     [not found] <1459294339-32231-1-git-send-email-mjeanson@efficios.com>
2016-03-30  0:46 ` Mathieu Desnoyers

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.