Whamcloud - gitweb
LU-13488 kernel: new kernel [RHEL 8.2 4.18.0-193.1.2.el8]
[fs/lustre-release.git] / lnet / autoconf / lustre-lnet.m4
index 42ced43..318036b 100644 (file)
@@ -102,6 +102,8 @@ esac
 
 AS_IF([test $ENABLEO2IB = "no"], [
        AC_MSG_RESULT([no])
+       AC_DEFUN([LN_CONFIG_O2IB_SRC], [])
+       AC_DEFUN([LN_CONFIG_O2IB_RESULTS], [])
 ], [
        o2ib_found=false
        for O2IBPATH in $O2IBPATHS; do
@@ -521,6 +523,8 @@ AS_IF([test $ENABLEO2IB != "no"], [
        LN_IB_SG_DMA_ADDRESS_EXISTS
 
        EXTRA_CHECK_INCLUDE=""
+       AC_DEFUN([LN_CONFIG_O2IB_SRC], [])
+       AC_DEFUN([LN_CONFIG_O2IB_RESULTS], [])
 ]) # ENABLEO2IB != "no"
 ]) # LN_CONFIG_O2IB
 
@@ -638,25 +642,25 @@ LB_CHECK_EXPORT([kmap_to_page], [mm/highmem.c],
 ]) # LN_EXPORT_KMAP_TO_PAG
 
 #
-# LN_CONFIG_SOCK_ACCEPT
+# LN_HAVE_HYPERVISOR_IS_TYPE
 #
-# 4.11 commit cdfbabfb2f0ce983fdaa42f20e5f7842178fc01e added a flag
-# to handle a possible lockdep condition kernel socket accept.
+# 4.14 commit 79cc74155218316b9a5d28577c7077b2adba8e58
+# x86/paravirt: Provide a way to check for hypervisors
 #
-AC_DEFUN([LN_CONFIG_SOCK_ACCEPT], [
+AC_DEFUN([LN_HAVE_HYPERVISOR_IS_TYPE], [
 tmp_flags="$EXTRA_KCFLAGS"
 EXTRA_KCFLAGS="-Werror"
-LB_CHECK_COMPILE([if 'struct sock' accept function requires a bool argument],
-kern_sock_flag, [
-       #include <linux/net.h>
+LB_CHECK_COMPILE([if hypervisor_is_type function is available],
+hypervisor_is_type_exists, [
+       #include <asm/hypervisor.h>
 ],[
-       ((struct socket *)0)->ops->accept(NULL, NULL, O_NONBLOCK, false);
+       (void)hypervisor_is_type(X86_HYPER_NATIVE);
 ],[
-       AC_DEFINE(HAVE_KERN_SOCK_ACCEPT_FLAG_ARG, 1,
-               ['struct sock' accept function requires bool argument])
+       AC_DEFINE(HAVE_HYPERVISOR_IS_TYPE, 1,
+               [hypervisor_is_type function exists])
 ])
 EXTRA_KCFLAGS="$tmp_flags"
-]) # LN_CONFIG_SOCK_ACCEPT
+]) # LN_HAVE_HYPERVISOR_IS_TYPE
 
 #
 # LN_HAVE_ORACLE_OFED_EXTENSIONS
@@ -700,6 +704,33 @@ EXTRA_KCFLAGS="$tmp_flags"
 ]) # LN_CONFIG_SOCK_GETNAME
 
 #
+# LN_HAVE_IN_DEV_FOR_EACH_IFA_RTNL
+#
+# kernel 5.3 commit ef11db3310e272d3d8dbe8739e0770820dd20e52
+# and kernel 4.18.0-193.el8:
+# added in_dev_for_each_ifa_rtnl and in_dev_for_each_ifa_rcu
+# and removed for_ifa and endfor_ifa.
+# Use the _rntl variant as the current locking is rtnl.
+#
+AC_DEFUN([LN_HAVE_IN_DEV_FOR_EACH_IFA_RTNL], [
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-Werror"
+LB_CHECK_COMPILE([if 'in_dev_for_each_ifa_rtnl' is defined],
+in_dev_for_each_ifa_rtnl_test, [
+       #include <linux/inetdevice.h>
+],[
+       const struct in_ifaddr *ifa = NULL;
+       struct in_device *in_dev = NULL;
+
+       in_dev_for_each_ifa_rtnl(ifa, in_dev) {}
+],[
+       AC_DEFINE(HAVE_IN_DEV_FOR_EACH_IFA_RTNL, 1,
+               ['in_dev_for_each_ifa_rtnl' is defined])
+])
+EXTRA_KCFLAGS="$tmp_flags"
+]) # LN_HAVE_IN_DEV_FOR_EACH_IFA_RTNL
+
+#
 # LN_IB_DEVICE_OPS_EXISTS
 #
 # kernel 5.0 commit 521ed0d92ab0db3edd17a5f4716b7f698f4fce61
@@ -749,6 +780,29 @@ EXTRA_KCFLAGS="$tmp_flags"
 ]) # LN_IB_SG_DMA_ADDRESS_EXISTS
 
 #
+# LN_USR_RDMA
+#
+#
+AC_DEFUN([LN_USR_RDMA], [
+AC_MSG_CHECKING([if RDMA_PS_TCP exists])
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+       #include <rdma/rdma_user_cm.h>
+
+       int main(void) {
+               int x = (int)RDMA_PS_TCP;
+               return x;
+       }
+])],[
+       AC_DEFINE(HAVE_USRSPC_RDMA_PS_TCP, 1,
+               [RDMA_PS_TCP exists])
+])
+]) # LN_USR_RDMA
+
+
+AC_DEFUN([LN_PROG_LINUX_SRC], [])
+AC_DEFUN([LN_PROG_LINUX_RESULTS], [])
+
+#
 # LN_PROG_LINUX
 #
 # LNet linux kernel checks
@@ -766,12 +820,13 @@ LN_EXPORT_KMAP_TO_PAGE
 LN_CONFIG_SK_DATA_READY
 # 4.x
 LN_CONFIG_SOCK_CREATE_KERN
-# 4.11
-LN_CONFIG_SOCK_ACCEPT
 # 4.14
+LN_HAVE_HYPERVISOR_IS_TYPE
 LN_HAVE_ORACLE_OFED_EXTENSIONS
 # 4.17
 LN_CONFIG_SOCK_GETNAME
+# 5.3 and 4.18.0-193.el8
+LN_HAVE_IN_DEV_FOR_EACH_IFA_RTNL
 ]) # LN_PROG_LINUX
 
 #
@@ -816,6 +871,7 @@ AS_IF([test "$enable_efence" = yes], [
 AC_SUBST(LIBEFENCE)
 
 LN_CONFIG_DLC
+LN_USR_RDMA
 ]) # LN_CONFIGURE
 
 #