1*eda14cbcSMatt Macydnl # 2*eda14cbcSMatt Macydnl # 3.9 API change, 3*eda14cbcSMatt Macydnl # Moved things from linux/sched.h to linux/sched/rt.h 4*eda14cbcSMatt Macydnl # 5*eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_SCHED_RT_HEADER], [ 6*eda14cbcSMatt Macy ZFS_LINUX_TEST_SRC([sched_rt_header], [ 7*eda14cbcSMatt Macy #include <linux/sched.h> 8*eda14cbcSMatt Macy #include <linux/sched/rt.h> 9*eda14cbcSMatt Macy ],[ 10*eda14cbcSMatt Macy return 0; 11*eda14cbcSMatt Macy ]) 12*eda14cbcSMatt Macy]) 13*eda14cbcSMatt Macy 14*eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SCHED_RT_HEADER], [ 15*eda14cbcSMatt Macy AC_MSG_CHECKING([whether header linux/sched/rt.h exists]) 16*eda14cbcSMatt Macy ZFS_LINUX_TEST_RESULT([sched_rt_header], [ 17*eda14cbcSMatt Macy AC_MSG_RESULT(yes) 18*eda14cbcSMatt Macy ],[ 19*eda14cbcSMatt Macy ZFS_LINUX_TEST_ERROR([sched_rt_header]) 20*eda14cbcSMatt Macy ]) 21*eda14cbcSMatt Macy]) 22*eda14cbcSMatt Macy 23*eda14cbcSMatt Macydnl # 24*eda14cbcSMatt Macydnl # 4.11 API change, 25*eda14cbcSMatt Macydnl # Moved things from linux/sched.h to linux/sched/signal.h 26*eda14cbcSMatt Macydnl # 27*eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_SCHED_SIGNAL_HEADER], [ 28*eda14cbcSMatt Macy ZFS_LINUX_TEST_SRC([sched_signal_header], [ 29*eda14cbcSMatt Macy #include <linux/sched.h> 30*eda14cbcSMatt Macy #include <linux/sched/signal.h> 31*eda14cbcSMatt Macy ],[ 32*eda14cbcSMatt Macy return 0; 33*eda14cbcSMatt Macy ]) 34*eda14cbcSMatt Macy]) 35*eda14cbcSMatt Macy 36*eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SCHED_SIGNAL_HEADER], [ 37*eda14cbcSMatt Macy AC_MSG_CHECKING([whether header linux/sched/signal.h exists]) 38*eda14cbcSMatt Macy ZFS_LINUX_TEST_RESULT([sched_signal_header], [ 39*eda14cbcSMatt Macy AC_DEFINE(HAVE_SCHED_SIGNAL_HEADER, 1, 40*eda14cbcSMatt Macy [linux/sched/signal.h exists]) 41*eda14cbcSMatt Macy AC_MSG_RESULT(yes) 42*eda14cbcSMatt Macy ],[ 43*eda14cbcSMatt Macy AC_MSG_RESULT(no) 44*eda14cbcSMatt Macy ]) 45*eda14cbcSMatt Macy]) 46*eda14cbcSMatt Macy 47*eda14cbcSMatt Macydnl # 48*eda14cbcSMatt Macydnl # 3.19 API change 49*eda14cbcSMatt Macydnl # The io_schedule_timeout() function is present in all 2.6.32 kernels 50*eda14cbcSMatt Macydnl # but it was not exported until Linux 3.19. The RHEL 7.x kernels which 51*eda14cbcSMatt Macydnl # are based on a 3.10 kernel do export this symbol. 52*eda14cbcSMatt Macydnl # 53*eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_IO_SCHEDULE_TIMEOUT], [ 54*eda14cbcSMatt Macy ZFS_LINUX_TEST_SRC([io_schedule_timeout], [ 55*eda14cbcSMatt Macy #include <linux/sched.h> 56*eda14cbcSMatt Macy ], [ 57*eda14cbcSMatt Macy (void) io_schedule_timeout(1); 58*eda14cbcSMatt Macy ]) 59*eda14cbcSMatt Macy]) 60*eda14cbcSMatt Macy 61*eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_IO_SCHEDULE_TIMEOUT], [ 62*eda14cbcSMatt Macy AC_MSG_CHECKING([whether io_schedule_timeout() is available]) 63*eda14cbcSMatt Macy ZFS_LINUX_TEST_RESULT_SYMBOL([io_schedule_timeout], 64*eda14cbcSMatt Macy [io_schedule_timeout], [], [ 65*eda14cbcSMatt Macy AC_MSG_RESULT(yes) 66*eda14cbcSMatt Macy AC_DEFINE(HAVE_IO_SCHEDULE_TIMEOUT, 1, [yes]) 67*eda14cbcSMatt Macy ],[ 68*eda14cbcSMatt Macy AC_MSG_RESULT(no) 69*eda14cbcSMatt Macy ]) 70*eda14cbcSMatt Macy]) 71*eda14cbcSMatt Macy 72*eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_SCHED], [ 73*eda14cbcSMatt Macy ZFS_AC_KERNEL_SRC_SCHED_RT_HEADER 74*eda14cbcSMatt Macy ZFS_AC_KERNEL_SRC_SCHED_SIGNAL_HEADER 75*eda14cbcSMatt Macy ZFS_AC_KERNEL_SRC_IO_SCHEDULE_TIMEOUT 76*eda14cbcSMatt Macy]) 77*eda14cbcSMatt Macy 78*eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SCHED], [ 79*eda14cbcSMatt Macy ZFS_AC_KERNEL_SCHED_RT_HEADER 80*eda14cbcSMatt Macy ZFS_AC_KERNEL_SCHED_SIGNAL_HEADER 81*eda14cbcSMatt Macy ZFS_AC_KERNEL_IO_SCHEDULE_TIMEOUT 82*eda14cbcSMatt Macy]) 83