[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