aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Yao <[email protected]>2013-03-03 23:42:32 -0500
committerBrian Behlendorf <[email protected]>2013-03-14 10:43:19 -0700
commit10087fe1fa3e4aa4b6722a1d27a47853ebdf47c8 (patch)
tree42b93c54ad79e007c26052ff67418ede184af3a9
parentea5c4389fb7183f036b38e5ba171ac5a05798c4d (diff)
Linux 3.9 compat: Include linux/sched/rt.h
Linux 3.9 reorganized sched.h, splitting it into numerous files. torvalds/linux@8bd75c77b7c6a3954140dd2e20346aef3efe4a35 moved MAX_PRIO and MAX_RT_PRIO to linux/sched/rt.h. Signed-off-by: Richard Yao <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]>
-rw-r--r--config/spl-build.m420
-rw-r--r--include/sys/sysmacros.h5
2 files changed, 25 insertions, 0 deletions
diff --git a/config/spl-build.m4 b/config/spl-build.m4
index 3dcc05e65..eef3a76ae 100644
--- a/config/spl-build.m4
+++ b/config/spl-build.m4
@@ -88,6 +88,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
SPL_AC_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE
SPL_AC_SHRINK_CONTROL_STRUCT
SPL_AC_RWSEM_SPINLOCK_IS_RAW
+ SPL_AC_SCHED_RT_HEADER
])
AC_DEFUN([SPL_AC_MODULE_SYMVERS], [
@@ -2217,3 +2218,22 @@ AC_DEFUN([SPL_AC_RWSEM_SPINLOCK_IS_RAW], [
])
EXTRA_KCFLAGS="$tmp_flags"
])
+
+dnl #
+dnl # 3.9 API change,
+dnl # Moved things from linux/sched.h to linux/sched/rt.h
+dnl #
+AC_DEFUN([SPL_AC_SCHED_RT_HEADER],
+ [AC_MSG_CHECKING([whether header linux/sched/rt.h exists])
+ SPL_LINUX_TRY_COMPILE([
+ #include <linux/sched.h>
+ #include <linux/sched/rt.h>
+ ],[
+ return 0;
+ ],[
+ AC_DEFINE(HAVE_SCHED_RT_HEADER, 1, [linux/sched/rt.h exists])
+ AC_MSG_RESULT(yes)
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])
diff --git a/include/sys/sysmacros.h b/include/sys/sysmacros.h
index 7c4da67fc..b4778b70e 100644
--- a/include/sys/sysmacros.h
+++ b/include/sys/sysmacros.h
@@ -26,12 +26,17 @@
#define _SPL_SYSMACROS_H
#include <linux/module.h>
+#include <linux/sched.h>
#include <linux/cpumask.h>
#include <sys/debug.h>
#include <sys/varargs.h>
#include <sys/zone.h>
#include <sys/signal.h>
+#ifdef HAVE_SCHED_RT_HEADER
+#include <linux/sched/rt.h>
+#endif
+
#ifndef _KERNEL
#define _KERNEL __KERNEL__
#endif