[openib-general] [PATCH] kDAPL: get rid of dat version and thread safetey flags

Christoph Hellwig hch at lst.de
Sat Jun 11 02:31:44 PDT 2005


in the linux kernel any provider must use the version it was compiled
against, and must always be thread safe.


Index: test/dapltest/test/dapl_test_util.c
===================================================================
--- test/dapltest/test/dapl_test_util.c	(revision 2588)
+++ test/dapltest/test/dapl_test_util.c	(working copy)
@@ -76,12 +76,10 @@
 	struct sockaddr_in	*ip_addr;
 
 	DT_Tdep_PT_Printf (phead, "*****  DAPL  Characteristics  *****\n");
-	DT_Tdep_PT_Printf (phead, "Provider: %s  Version %d.%d  DAPL %d.%d\n",
+	DT_Tdep_PT_Printf (phead, "Provider: %s  Version %d.%d\n",
 			pt_ptr->provider_attr.provider_name,
 			pt_ptr->provider_attr.provider_version_major,
-			pt_ptr->provider_attr.provider_version_minor,
-			pt_ptr->provider_attr.dat_version_major,
-			pt_ptr->provider_attr.dat_version_minor );
+			pt_ptr->provider_attr.provider_version_minor);
 	DT_Tdep_PT_Printf (phead, "Adapter: %s by %s Version %d.%d\n",
 			pt_ptr->ia_attr.adapter_name,
 			pt_ptr->ia_attr.vendor_name,
Index: dat-provider/dapl_ia.c
===================================================================
--- dat-provider/dapl_ia.c	(revision 2588)
+++ dat-provider/dapl_ia.c	(working copy)
@@ -881,15 +881,12 @@
 			DAT_NAME_MAX_LENGTH);
 		provider_attr->provider_version_major = DAPL_PROVIDER_MAJOR;
 		provider_attr->provider_version_minor = DAPL_PROVIDER_MINOR;
-		provider_attr->dat_version_major = DAT_VERSION_MAJOR;
-		provider_attr->dat_version_minor = DAT_VERSION_MINOR;
 		provider_attr->lmr_mem_types_supported =
 		    DAT_MEM_TYPE_VIRTUAL | DAT_MEM_TYPE_LMR;
 		provider_attr->iov_ownership_on_return = DAT_IOV_CONSUMER;
 		provider_attr->dat_qos_supported = DAT_QOS_BEST_EFFORT;
 		provider_attr->completion_flags_supported =
 		    DAT_COMPLETION_DEFAULT_FLAG;
-		provider_attr->is_thread_safe = FALSE;
 		provider_attr->max_private_data_size = IB_CM_REQ_PRIVATE_DATA_SIZE;
 		provider_attr->supports_multipath = FALSE;
 		provider_attr->ep_creator = DAT_PSP_CREATES_EP_NEVER;
Index: dat-provider/dapl_provider.c
===================================================================
--- dat-provider/dapl_provider.c	(revision 2588)
+++ dat-provider/dapl_provider.c	(working copy)
@@ -244,9 +244,6 @@
 		  (size_t) (DAT_NAME_MAX_LENGTH - 2));
 	provider_info->ia_name[i] = 'a' + port - 1; /* IB ports are 1 based */
 	provider_info->ia_name[i+1] = '\0';
-	provider_info->dat_version_major = DAT_VERSION_MAJOR;
-	provider_info->dat_version_minor = DAT_VERSION_MINOR;
-	provider_info->is_thread_safe = DAPL_THREADSAFE;
 }
 
 static void dapl_add_port(struct ib_device *device, u8 port)
Index: dat/dictionary.c
===================================================================
--- dat/dictionary.c	(revision 2588)
+++ dat/dictionary.c	(working copy)
@@ -212,10 +212,6 @@
 	BUG_ON(NULL == new_key);
 
 	strncpy(new_key->ia_name, old_key->ia_name, DAT_NAME_MAX_LENGTH);
-	new_key->dat_version_major = old_key->dat_version_major;
-	new_key->dat_version_minor = old_key->dat_version_minor;
-	new_key->is_thread_safe = old_key->is_thread_safe;
-
 	return DAT_SUCCESS;
 }
 
@@ -226,10 +222,7 @@
         BUG_ON(NULL == b);
 
 	if ((strlen(a->ia_name) == strlen(b->ia_name)) &&
-	    (!strncmp(a->ia_name, b->ia_name, strlen(a->ia_name)))
-	    && (a->dat_version_major == b->dat_version_major)
-	    && (a->dat_version_minor == b->dat_version_minor)
-	    && (a->is_thread_safe == b->is_thread_safe))
+	    (!strncmp(a->ia_name, b->ia_name, strlen(a->ia_name))))
 		return TRUE;
 	else
 		return FALSE;
Index: dat/api.c
===================================================================
--- dat/api.c	(revision 2588)
+++ dat/api.c	(working copy)
@@ -349,9 +349,8 @@
 	}
 }
 
-u32 dat_ia_openv(const char *name, int async_event_qlen,
-		 struct dat_evd **async_event_handle, struct dat_ia **ia,
-		 u32 dat_major, u32 dat_minor, boolean_t thread_safety)
+u32 dat_ia_open(const char *name, int async_event_qlen,
+		struct dat_evd **async_event_handle, struct dat_ia **ia)
 {
 	DAT_IA_OPEN_FUNC ia_open_func;
 	struct dat_provider_info info;
@@ -360,8 +359,7 @@
 
 	dat_dbg_print(DAT_DBG_TYPE_CONSUMER_API,
                       "%s(name:%s, async_qlen:%i, ver:%x.%x, thrd_safe:%x)\n",
-		      __func__, name, async_event_qlen, dat_major, dat_minor, 
-                      thread_safety);
+		      __func__, name, async_event_qlen);
 
 	if (DAT_IS_BAD_POINTER(name))
 		return DAT_ERROR(DAT_INVALID_PARAMETER, DAT_INVALID_ARG1);
@@ -374,10 +372,6 @@
 	strncpy(info.ia_name, name, len);
 	info.ia_name[len] = '\0';
 
-	info.dat_version_major = dat_major;
-	info.dat_version_minor = dat_minor;
-	info.is_thread_safe = thread_safety;
-
 	status = dat_dr_provider_open(&info, &ia_open_func);
 	if (status != DAT_SUCCESS) {
 		dat_dbg_print(DAT_DBG_TYPE_CONSUMER_API,
@@ -390,7 +384,7 @@
         return ia_open_func(name, async_event_qlen, async_event_handle,	ia);
 }
 
-EXPORT_SYMBOL(dat_ia_openv);
+EXPORT_SYMBOL(dat_ia_open);
 
 u32 dat_ia_close(struct dat_ia *ia, enum dat_close_flags flags)
 {
@@ -423,10 +417,6 @@
 		strncpy(info.ia_name, ia_name, len);
 		info.ia_name[len] = '\0';
 
-		info.dat_version_major = provider_attr.dat_version_major;
-		info.dat_version_minor = provider_attr.dat_version_minor;
-		info.is_thread_safe = provider_attr.is_thread_safe;
-
 		status = dat_dr_provider_close(&info);
 		if (DAT_SUCCESS != status)
 			dat_dbg_print(DAT_DBG_TYPE_CONSUMER_API,
@@ -472,10 +462,7 @@
 {
 	dat_dbg_print(DAT_DBG_TYPE_PROVIDER_API, 
                       "%s(ia:%s, ver:%x.%x, thrd_safe:%x)\n",
-                      __func__, provider_info->ia_name, 
-                      provider_info->dat_version_major,
-		      provider_info->dat_version_minor, 
-                      provider_info->is_thread_safe);
+                      __func__, provider_info->ia_name);
 
 	if (DAT_IS_BAD_POINTER(provider))
 		return DAT_ERROR(DAT_INVALID_PARAMETER, DAT_INVALID_ARG1);
Index: dat/Makefile
===================================================================
--- dat/Makefile	(revision 2588)
+++ dat/Makefile	(working copy)
@@ -1,7 +1,6 @@
 
 EXTRA_CFLAGS += \
-    -Idrivers/dat      	\
-    -Werror
+    -I$(obj)
 
 obj-$(CONFIG_DAT) += dat.o
 
Index: dat/dat.h
===================================================================
--- dat/dat.h	(revision 2588)
+++ dat/dat.h	(working copy)
@@ -33,10 +33,6 @@
 #include <linux/in.h>
 #include <linux/in6.h>
 
-#define DAT_VERSION_MAJOR 1
-#define DAT_VERSION_MINOR 2
-#define DAT_THREADSAFE FALSE
-
 /*
  * All return codes are actually a 3-way tuple:
  *
@@ -894,9 +890,6 @@
 
 struct dat_provider_info {
 	char ia_name[DAT_NAME_MAX_LENGTH];
-	u32 dat_version_major;
-	u32 dat_version_minor;
-	boolean_t is_thread_safe;
 };
 
 struct dat_evd_param {
@@ -1017,13 +1010,10 @@
 	char provider_name[DAT_NAME_MAX_LENGTH];
 	u32 provider_version_major;
 	u32 provider_version_minor;
-	u32 dat_version_major;
-	u32 dat_version_minor;
 	enum dat_mem_type lmr_mem_types_supported;
 	enum dat_iov_ownership iov_ownership_on_return;
 	enum dat_qos dat_qos_supported;
 	enum dat_completion_flags completion_flags_supported;
-	boolean_t is_thread_safe;
 	int max_private_data_size;
 	boolean_t supports_multipath;
 	enum dat_ep_creator_for_psp ep_creator;
@@ -1361,16 +1351,10 @@
 /*
  * DAT registry functions for consumers
  */
-extern u32 dat_ia_openv(const char *name, int async_event_qlen,
+extern u32 dat_ia_open(const char *name, int async_event_qlen,
 			struct dat_evd **async_event_handle,
-			struct dat_ia **ia, u32 dat_major, u32 dat_minor,
-			boolean_t thread_safety);
+			struct dat_ia **ia);
 
-#define dat_ia_open(name, qlen, async_evd, ia) \
-        dat_ia_openv((name), (qlen), (async_evd), (ia), \
-                DAT_VERSION_MAJOR, DAT_VERSION_MINOR, \
-                DAT_THREADSAFE)
-
 extern u32 dat_ia_close(struct dat_ia *, enum dat_close_flags);
 
 extern u32 dat_strerror(u32, const char **, const char **);



More information about the general mailing list