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

diff --git a/meta b/meta
index 3643c871165386a5d6b820638ffa635793d1a7d1..71a911ca5f2929a7b225ace69b24267baa79cc6d 100644 (file)
--- a/meta
+++ b/meta
@@ -1,8 +1,9 @@
 Version: 1
-Previous: 2aa05a1604c0282e0d9cd6b4af3042d8bc1fd5fd
-Head: 4ccb194281d00e87e08e090517d2d2d947a66b01
+Previous: 86a70aebd114e2512919751c7235d90fe5d4d42c
+Head: 571977ce65af395f806a83a1921039d3cd084839
 Applied:
   dapl-evd: 4ccb194281d00e87e08e090517d2d2d947a66b01
+  refresh-temp: 571977ce65af395f806a83a1921039d3cd084839
 Unapplied:
   overlap: dfe75689835ce5dc1dbe80fd8c8ca144db6383b9
   dapl-qp: 57f50f5e232bbdddff67fc4dae43c66cfce81c5e
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..d0bf6be
--- /dev/null
@@ -0,0 +1,79 @@
+Bottom: e0a336baf5ecfc37b867ad87df4aa629ac448200
+Top:    1f8a8438356e65ed344028d949bd8033fc3cdae4
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2010-09-16 11:57:26 -0700
+
+Refresh of dapl-evd
+
+---
+
+diff --git a/trunk/ulp/dapl2/dapl/common/dapl_ep_free.c b/trunk/ulp/dapl2/dapl/common/dapl_ep_free.c
+index 3bfc541..e7268ac 100644
+--- a/trunk/ulp/dapl2/dapl/common/dapl_ep_free.c
++++ b/trunk/ulp/dapl2/dapl/common/dapl_ep_free.c
+@@ -65,6 +65,7 @@ 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;
+@@ -202,6 +203,19 @@ 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);
++      }
++
+       /* Free the resource */
+       dapl_ep_dealloc(ep_ptr);
+diff --git a/trunk/ulp/dapl2/dapl/common/dapl_evd_util.c b/trunk/ulp/dapl2/dapl/common/dapl_evd_util.c
+index 4035008..b27fd15 100644
+--- a/trunk/ulp/dapl2/dapl/common/dapl_evd_util.c
++++ b/trunk/ulp/dapl2/dapl/common/dapl_evd_util.c
+@@ -1187,10 +1187,6 @@ dapli_evd_cqe_to_event(IN DAPL_EVD * evd_ptr,
\r
+       ep_ptr = cookie->ep;\r
+       dapl_os_assert((NULL != ep_ptr));\r
+-      if (ep_ptr->header.magic != DAPL_MAGIC_EP) {\r
+-              /* ep may have been freed, just return */\r
+-              return;\r
+-      }\r
\r
+       dapls_io_trc_update_completion(ep_ptr, cookie, dto_status);\r
\r
+@@ -1392,7 +1388,7 @@ void dapls_evd_copy_cq(DAPL_EVD * evd_ptr)
\r
+               dapli_evd_cqe_to_event(evd_ptr, &cur_cqe, event);\r
\r
+-              dapli_evd_post_event_nosignal(evd_ptr, event);\r
++              dapli_evd_post_event(evd_ptr, event);\r
+       }\r
\r
+       if (DAT_GET_TYPE(dat_status) != DAT_QUEUE_EMPTY) {\r
+diff --git a/trunk/ulp/dapl2/dapl/udapl/dapl_evd_wait.c b/trunk/ulp/dapl2/dapl/udapl/dapl_evd_wait.c
+index 79afb0d..135951c 100644
+--- a/trunk/ulp/dapl2/dapl/udapl/dapl_evd_wait.c
++++ b/trunk/ulp/dapl2/dapl/udapl/dapl_evd_wait.c
+@@ -168,9 +168,7 @@ DAT_RETURN DAT_API dapl_evd_wait(IN DAT_EVD_HANDLE evd_handle,
+                * return right away if the ib_cq_handle associate with these evd
+                * equal to IB_INVALID_HANDLE
+                */
+-              dapl_os_unlock(&evd_ptr->header.lock);
+               dapls_evd_copy_cq(evd_ptr);
+-              dapl_os_lock(&evd_ptr->header.lock);
+               if (dapls_rbuf_count(&evd_ptr->pending_event_queue) >=
+                   threshold) {