]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
refresh (create temporary patch)
authorSean Hefty <sean.hefty@intel.com>
Thu, 16 Sep 2010 20:25:01 +0000 (13:25 -0700)
committerSean Hefty <sean.hefty@intel.com>
Thu, 16 Sep 2010 20:25:01 +0000 (13:25 -0700)
meta
patches/refresh-temp [new file with mode: 0644]

diff --git a/meta b/meta
index 0b3d5e5b8b9bd64074a7197fac7655c9af2f41e4..10a6982f880e9afd6bc71d62199b00d95ed96899 100644 (file)
--- a/meta
+++ b/meta
@@ -1,8 +1,9 @@
 Version: 1
-Previous: 93dc56f31dab88bc26b00243702affb30be00844
-Head: 9d48d92cef68f89ce9a8f84858f4cb49b690241c
+Previous: 6218c4ba73ffa9d75e8336334a5789dec178609e
+Head: a1e02bcfd3decea25567c25cfdca6dbcb79661c7
 Applied:
   dapl-evd: 9d48d92cef68f89ce9a8f84858f4cb49b690241c
+  refresh-temp: a1e02bcfd3decea25567c25cfdca6dbcb79661c7
 Unapplied:
   overlap: dfe75689835ce5dc1dbe80fd8c8ca144db6383b9
   dapl-qp: 57f50f5e232bbdddff67fc4dae43c66cfce81c5e
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..8bc66f7
--- /dev/null
@@ -0,0 +1,125 @@
+Bottom: 1f8a8438356e65ed344028d949bd8033fc3cdae4
+Top:    84611ba9217ac3e6de75f53e37b41fcca0916e87
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2010-09-16 13:24:57 -0700
+
+Refresh of dapl-evd
+
+---
+
+diff --git a/trunk/ulp/dapl2/dapl/common/dapl_ep_disconnect.c b/trunk/ulp/dapl2/dapl/common/dapl_ep_disconnect.c
+index 72da620..90748b0 100644
+--- a/trunk/ulp/dapl2/dapl/common/dapl_ep_disconnect.c
++++ b/trunk/ulp/dapl2/dapl/common/dapl_ep_disconnect.c
+@@ -165,6 +165,7 @@ dapl_ep_disconnect(IN DAT_EP_HANDLE ep_handle,
+       }
+       dapl_os_unlock(&ep_ptr->header.lock);
+       dat_status = dapls_ib_disconnect(ep_ptr, disconnect_flags);
++      dapls_ep_flush_cqs(ep_ptr);
+       bail:
+       dapl_dbg_log(DAPL_DBG_TYPE_RTN | DAPL_DBG_TYPE_CM,
+diff --git a/trunk/ulp/dapl2/dapl/common/dapl_ep_free.c b/trunk/ulp/dapl2/dapl/common/dapl_ep_free.c
+index e7268ac..32d50cc 100644
+--- a/trunk/ulp/dapl2/dapl/common/dapl_ep_free.c
++++ b/trunk/ulp/dapl2/dapl/common/dapl_ep_free.c
+@@ -65,7 +65,6 @@ DAT_RETURN DAT_API dapl_ep_free(IN DAT_EP_HANDLE ep_handle)
+ {
+       DAPL_EP *ep_ptr;
+       DAPL_IA *ia_ptr;
+-      DAPL_EVD *evd_ptr;
+       DAT_EP_PARAM *param;
+       dp_ib_cm_handle_t cm_ptr, next_cm_ptr;
+       ib_qp_state_t save_qp_state;
+@@ -203,18 +202,7 @@ DAT_RETURN DAT_API dapl_ep_free(IN DAT_EP_HANDLE ep_handle)
+               }
+       }
+-      if (ep_ptr->param.request_evd_handle) {
+-              evd_ptr = (DAPL_EVD *) ep_ptr->param.request_evd_handle;
+-              dapl_os_lock(&evd_ptr->header.lock);
+-              dapls_evd_copy_cq(evd_ptr);
+-              dapl_os_unlock(&evd_ptr->header.lock);
+-      }
+-      if (ep_ptr->param.recv_evd_handle) {
+-              evd_ptr = (DAPL_EVD *) ep_ptr->param.recv_evd_handle;
+-              dapl_os_lock(&evd_ptr->header.lock);
+-              dapls_evd_copy_cq(evd_ptr);
+-              dapl_os_unlock(&evd_ptr->header.lock);
+-      }
++      dapls_ep_flush_cqs(ep_ptr);
+       /* Free the resource */
+       dapl_ep_dealloc(ep_ptr);
+diff --git a/trunk/ulp/dapl2/dapl/common/dapl_ep_util.c b/trunk/ulp/dapl2/dapl/common/dapl_ep_util.c
+index 9aff242..bd91fc7 100644
+--- a/trunk/ulp/dapl2/dapl/common/dapl_ep_util.c
++++ b/trunk/ulp/dapl2/dapl/common/dapl_ep_util.c
+@@ -606,6 +606,22 @@ void dapl_ep_unlink_cm(IN DAPL_EP *ep_ptr, IN dp_ib_cm_handle_t cm_ptr)
+       dapl_os_unlock(&ep_ptr->header.lock);
+ }
++static void dapli_ep_flush_evd(DAPL_EVD *evd_ptr)
++{
++      dapl_os_lock(&evd_ptr->header.lock);
++      dapls_evd_copy_cq(evd_ptr);
++      dapl_os_unlock(&evd_ptr->header.lock);
++}
++
++void dapls_ep_flush_cqs(DAPL_EP * ep_ptr)\r
++{\r
++      if (ep_ptr->param.request_evd_handle)
++              dapli_ep_flush_evd((DAPL_EVD *) ep_ptr->param.request_evd_handle);
++
++      if (ep_ptr->param.recv_evd_handle)
++              dapli_ep_flush_evd((DAPL_EVD *) ep_ptr->param.recv_evd_handle);
++}
++
+ /*
+  * Local variables:
+  *  c-indent-level: 4
+diff --git a/trunk/ulp/dapl2/dapl/common/dapl_ep_util.h b/trunk/ulp/dapl2/dapl/common/dapl_ep_util.h
+index 31d0e23..66b2de6 100644
+--- a/trunk/ulp/dapl2/dapl/common/dapl_ep_util.h
++++ b/trunk/ulp/dapl2/dapl/common/dapl_ep_util.h
+@@ -101,5 +101,7 @@ STATIC _INLINE_ dp_ib_cm_handle_t dapl_get_cm_from_ep(IN DAPL_EP *ep_ptr)
+       return cm_ptr;
+ }
+- 
++
++extern void dapls_ep_flush_cqs(DAPL_EP * ep_ptr);\r
++
+ #endif /*  _DAPL_EP_UTIL_H_ */
+diff --git a/trunk/ulp/dapl2/dapl/common/dapl_evd_util.c b/trunk/ulp/dapl2/dapl/common/dapl_evd_util.c
+index b27fd15..675e948 100644
+--- a/trunk/ulp/dapl2/dapl/common/dapl_evd_util.c
++++ b/trunk/ulp/dapl2/dapl/common/dapl_evd_util.c
+@@ -673,14 +673,6 @@ dapli_evd_post_event(IN DAPL_EVD * evd_ptr, IN const DAT_EVENT * event_ptr)
+                       dapl_os_unlock(&evd_ptr->header.lock);\r
+               }\r
+       } else {\r
+-              /*\r
+-               * We're in DAPL_EVD_STATE_WAITED.  Take the lock if\r
+-               * we don't have it, recheck, and signal.\r
+-               */\r
+-              if (!evd_ptr->evd_producer_locking_needed) {\r
+-                      dapl_os_lock(&evd_ptr->header.lock);\r
+-              }\r
+-\r
+               if (evd_ptr->evd_state == DAPL_EVD_STATE_WAITED\r
+                   && (dapls_rbuf_count(&evd_ptr->pending_event_queue)\r
+                       >= evd_ptr->threshold)) {\r
+diff --git a/trunk/ulp/dapl2/dapl/openib_ucm/device.c b/trunk/ulp/dapl2/dapl/openib_ucm/device.c
+index 1959c76..b7d9efd 100644
+--- a/trunk/ulp/dapl2/dapl/openib_ucm/device.c
++++ b/trunk/ulp/dapl2/dapl/openib_ucm/device.c
+@@ -581,8 +581,6 @@ void ucm_async_event(struct dapl_hca *hca)
+       struct ibv_async_event event;
+       struct _ib_hca_transport *tp = &hca->ib_trans;
+-      dapl_log(DAPL_DBG_TYPE_WARN, " async_event(%p)\n", hca);
+-
+       if (!ibv_get_async_event(hca->ib_hca_handle, &event)) {
+               switch (event.event_type) {