[ofa-general] [PATCH][dat1.2] dapl: cma provider needs to support lower inline send default for iWARP

Davis, Arlin R arlin.r.davis at intel.com
Mon Apr 28 11:47:38 PDT 2008


IB and iWARP work best with different defaults. Add transport check
and set default accordingly. 64 for iWARP, 200 for IB.

DAPL_MAX_INLINE environment variable is still used to override.

Signed-off by: Arlin Davis ardavis at ichips.intel.com
---
 dapl/openib_cma/dapl_ib_util.c |   11 +++++++++--
 dapl/openib_cma/dapl_ib_util.h |    3 ++-
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/dapl/openib_cma/dapl_ib_util.c
b/dapl/openib_cma/dapl_ib_util.c
index 56c0a05..4de5a2c 100755
--- a/dapl/openib_cma/dapl_ib_util.c
+++ b/dapl/openib_cma/dapl_ib_util.c
@@ -274,8 +274,15 @@ DAT_RETURN dapls_ib_open_hca(IN IB_HCA_NAME
hca_name, IN DAPL_HCA *hca_ptr)
 		(unsigned long long)bswap_64(gid->global.interface_id));
 
 	/* set inline max with env or default, get local lid and gid 0
*/
-	hca_ptr->ib_trans.max_inline_send = 
-		dapl_os_get_env_val("DAPL_MAX_INLINE",
INLINE_SEND_DEFAULT);
+	if (hca_ptr->ib_hca_handle->device->transport_type
+					== IBV_TRANSPORT_IWARP)
+		hca_ptr->ib_trans.max_inline_send =
+			dapl_os_get_env_val("DAPL_MAX_INLINE",
+					    INLINE_SEND_IWARP_DEFAULT);
+	else
+		hca_ptr->ib_trans.max_inline_send =
+			dapl_os_get_env_val("DAPL_MAX_INLINE",
+					    INLINE_SEND_IB_DEFAULT);
 
 	/* set CM timer defaults */	
 	hca_ptr->ib_trans.max_cm_timeout =
diff --git a/dapl/openib_cma/dapl_ib_util.h
b/dapl/openib_cma/dapl_ib_util.h
index 93f4fde..1e464b2 100755
--- a/dapl/openib_cma/dapl_ib_util.h
+++ b/dapl/openib_cma/dapl_ib_util.h
@@ -122,7 +122,8 @@ typedef struct _ib_wait_obj_handle
 #define IB_INVALID_HANDLE	NULL
 
 /* inline send rdma threshold */
-#define	INLINE_SEND_DEFAULT	128
+#define	INLINE_SEND_IWARP_DEFAULT	64
+#define	INLINE_SEND_IB_DEFAULT		200
 
 /* CM private data areas */
 #define	IB_MAX_REQ_PDATA_SIZE	48
-- 
1.5.2.5




More information about the general mailing list