From 703ebd87c1705810b8f8eb0f8f25ebef11bde8fc Mon Sep 17 00:00:00 2001 From: Dmitry Eremin Date: Thu, 14 Jul 2016 21:23:13 +0300 Subject: [PATCH 1/1] LU-8401 lnet: remove dependency on OFED headers from lnet The LNet layer shouldn't refer to anything in the RDMA world directly. All OFED dependent code should be localized into o2iblnd. So, remove dependency on OFED headers from all code except o2iblnd. Change-Id: I445922ca2be58b5c34e61fe1fa50a423f13ec75d Signed-off-by: Dmitry Eremin Reviewed-on: http://review.whamcloud.com/21317 Reviewed-by: Doug Oucharek Reviewed-by: James Simmons Reviewed-by: Chris Horn Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- lnet/autoconf/lustre-lnet.m4 | 84 ++++++++++++------------------------------ lnet/klnds/gnilnd/Makefile.in | 4 -- lnet/klnds/gnilnd/gnilnd.h | 3 -- lnet/klnds/socklnd/Makefile.in | 4 -- lnet/klnds/socklnd/socklnd.h | 3 -- lnet/lnet/Makefile.in | 4 -- lnet/lnet/acceptor.c | 3 -- lnet/lnet/lib-socket.c | 3 -- 8 files changed, 23 insertions(+), 85 deletions(-) diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4 index bef6231..47a4ff1 100644 --- a/lnet/autoconf/lustre-lnet.m4 +++ b/lnet/autoconf/lustre-lnet.m4 @@ -340,6 +340,7 @@ AC_SUBST(ENABLEO2IB) AS_IF([test $ENABLEO2IB != "no"], [ EXTRA_CHECK_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE" + # In RHEL 6.2, rdma_create_id() takes the queue-pair type as a fourth argument LB_CHECK_COMPILE([if 'rdma_create_id' wants four args], rdma_create_id_4args, [ @@ -492,6 +493,26 @@ AS_IF([test $ENABLEO2IB != "no"], [ AC_DEFINE(HAVE_IB_DEVICE_ATTRS, 1, [struct ib_device.attrs is defined]) ]) + + LB_CHECK_COMPILE([if function 'ib_inc_rkey' is defined], + ib_inc_rkey, [ + #ifdef HAVE_COMPAT_RDMA + #undef PACKAGE_NAME + #undef PACKAGE_TARNAME + #undef PACKAGE_VERSION + #undef PACKAGE_STRING + #undef PACKAGE_BUGREPORT + #undef PACKAGE_URL + #include + #endif + #include + ],[ + (void)ib_inc_rkey(0); + ],[ + AC_DEFINE(HAVE_IB_INC_RKEY, 1, + [function ib_inc_rkey exist]) + ]) + EXTRA_CHECK_INCLUDE="" ]) # ENABLEO2IB != "no" ]) # LN_CONFIG_O2IB @@ -564,15 +585,6 @@ AC_SUBST(GNILND) AC_DEFUN([LN_CONFIG_SK_SLEEP], [ LB_CHECK_COMPILE([if Linux kernel has 'sk_sleep'], sk_sleep, [ - #ifdef HAVE_COMPAT_RDMA - #undef PACKAGE_NAME - #undef PACKAGE_TARNAME - #undef PACKAGE_VERSION - #undef PACKAGE_STRING - #undef PACKAGE_BUGREPORT - #undef PACKAGE_URL - #include - #endif #include ],[ sk_sleep(NULL); @@ -585,22 +597,14 @@ sk_sleep, [ # # LN_CONFIG_TCP_SENDPAGE # -# 2.6.36 tcp_sendpage() first parameter is 'struct sock' instead of 'struct socket'. +# 2.6.36 tcp_sendpage() first parameter is 'struct sock' +# instead of 'struct socket'. # AC_DEFUN([LN_CONFIG_TCP_SENDPAGE], [ tmp_flags="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="-Werror" LB_CHECK_COMPILE([if 'tcp_sendpage' first parameter is socket], tcp_sendpage_socket, [ - #ifdef HAVE_COMPAT_RDMA - #undef PACKAGE_NAME - #undef PACKAGE_TARNAME - #undef PACKAGE_VERSION - #undef PACKAGE_STRING - #undef PACKAGE_BUGREPORT - #undef PACKAGE_URL - #include - #endif #include #include ],[ @@ -622,15 +626,6 @@ tmp_flags="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="-Werror" LB_CHECK_COMPILE([if 'sk_data_ready' takes only one argument], sk_data_ready, [ - #ifdef HAVE_COMPAT_RDMA - #undef PACKAGE_NAME - #undef PACKAGE_TARNAME - #undef PACKAGE_VERSION - #undef PACKAGE_STRING - #undef PACKAGE_BUGREPORT - #undef PACKAGE_URL - #include - #endif #include #include ],[ @@ -643,33 +638,6 @@ EXTRA_KCFLAGS="$tmp_flags" ]) # LN_CONFIG_SK_DATA_READY # -# LN_CONFIG_IB_INC_RKEY -# -AC_DEFUN([LN_CONFIG_IB_INC_RKEY], [ -tmp_flags="$EXTRA_KCFLAGS" -EXTRA_KCFLAGS="-Werror" -LB_CHECK_COMPILE([if function 'ib_inc_rkey' is defined], -ib_inc_rkey, [ - #ifdef HAVE_COMPAT_RDMA - #undef PACKAGE_NAME - #undef PACKAGE_TARNAME - #undef PACKAGE_VERSION - #undef PACKAGE_STRING - #undef PACKAGE_BUGREPORT - #undef PACKAGE_URL - #include - #endif - #include -],[ - (void)ib_inc_rkey(0); -],[ - AC_DEFINE(HAVE_IB_INC_RKEY, 1, - [function ib_inc_rkey exist]) -]) -EXTRA_KCFLAGS="$tmp_flags" -]) # LN_CONFIG_IB_INC_RKEY - -# # LN_PROG_LINUX # # LNet linux kernel checks @@ -682,18 +650,12 @@ LN_CONFIG_AFFINITY LN_CONFIG_BACKOFF LN_CONFIG_O2IB LN_CONFIG_GNILND -# OFED checks, so add extra OFED include -EXTRA_CHECK_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE" # 2.6.35 LN_CONFIG_SK_SLEEP # 2.6.36 LN_CONFIG_TCP_SENDPAGE -# 3.8.1 -LN_CONFIG_IB_INC_RKEY # 3.15 LN_CONFIG_SK_DATA_READY -# remove extra include for none OFED code -EXTRA_CHECK_INCLUDE="" ]) # LN_PROG_LINUX # diff --git a/lnet/klnds/gnilnd/Makefile.in b/lnet/klnds/gnilnd/Makefile.in index 5f9e4df..14e8c30 100644 --- a/lnet/klnds/gnilnd/Makefile.in +++ b/lnet/klnds/gnilnd/Makefile.in @@ -2,10 +2,6 @@ MODULES := kgnilnd kgnilnd-objs := gnilnd.o gnilnd_cb.o gnilnd_modparams.o gnilnd_debug.o gnilnd_proc.o \ gnilnd_sysctl.o gnilnd_stack.o gnilnd_conn.o -# Need to make sure that an external OFED source pool overrides -# any in-kernel OFED sources -NOSTDINC_FLAGS += @EXTRA_OFED_CONFIG@ @EXTRA_OFED_INCLUDE@ - EXTRA_POST_CFLAGS := -D"SVN_CODE_REV=KBUILD_STR(${SVN_CODE_REV})" @GNICPPFLAGS@ EXTRA_DIST = $(kgnilnd-objs:%.o=%.c) gnilnd.h gnilnd_api_wrap.h diff --git a/lnet/klnds/gnilnd/gnilnd.h b/lnet/klnds/gnilnd/gnilnd.h index f887d4b..9343935 100644 --- a/lnet/klnds/gnilnd/gnilnd.h +++ b/lnet/klnds/gnilnd/gnilnd.h @@ -28,9 +28,6 @@ #ifndef _GNILND_GNILND_H_ #define _GNILND_GNILND_H_ -#ifdef HAVE_COMPAT_RDMA -#include -#endif #include #include #include diff --git a/lnet/klnds/socklnd/Makefile.in b/lnet/klnds/socklnd/Makefile.in index dbd783a1..b29f617 100644 --- a/lnet/klnds/socklnd/Makefile.in +++ b/lnet/klnds/socklnd/Makefile.in @@ -1,9 +1,5 @@ MODULES := ksocklnd -# Need to make sure that an external OFED source pool overrides -# # any in-kernel OFED sources -NOSTDINC_FLAGS += @EXTRA_OFED_CONFIG@ @EXTRA_OFED_INCLUDE@ - ksocklnd-objs := \ socklnd.o \ socklnd_cb.o \ diff --git a/lnet/klnds/socklnd/socklnd.h b/lnet/klnds/socklnd/socklnd.h index 54794c0..1a08293 100644 --- a/lnet/klnds/socklnd/socklnd.h +++ b/lnet/klnds/socklnd/socklnd.h @@ -31,9 +31,6 @@ #define DEBUG_PORTAL_ALLOC #define DEBUG_SUBSYSTEM S_LND -#ifdef HAVE_COMPAT_RDMA -#include -#endif #include #include #include diff --git a/lnet/lnet/Makefile.in b/lnet/lnet/Makefile.in index 592d2d7..ee119ad 100644 --- a/lnet/lnet/Makefile.in +++ b/lnet/lnet/Makefile.in @@ -7,8 +7,4 @@ lnet-objs += router.o router_proc.o acceptor.o peer.o net_fault.o default: all -# Need to make sure that an external OFED source pool overrides -# # any in-kernel OFED sources -NOSTDINC_FLAGS += @EXTRA_OFED_CONFIG@ @EXTRA_OFED_INCLUDE@ - @INCLUDE_RULES@ diff --git a/lnet/lnet/acceptor.c b/lnet/lnet/acceptor.c index d6448fe..9bf15ca 100644 --- a/lnet/lnet/acceptor.c +++ b/lnet/lnet/acceptor.c @@ -36,9 +36,6 @@ #define DEBUG_SUBSYSTEM S_LNET -#ifdef HAVE_COMPAT_RDMA -#include -#endif #include #include #include diff --git a/lnet/lnet/lib-socket.c b/lnet/lnet/lib-socket.c index 83d6790..9392f4f 100644 --- a/lnet/lnet/lib-socket.c +++ b/lnet/lnet/lib-socket.c @@ -35,9 +35,6 @@ */ #define DEBUG_SUBSYSTEM S_LNET -#ifdef HAVE_COMPAT_RDMA -#include -#endif #include #include #include -- 1.8.3.1