From: Sean Hefty Date: Thu, 16 Sep 2010 20:25:05 +0000 (-0700) Subject: refresh X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=2a9448b5eb27460a5ba1ec5b268cb92bf73c4be2;p=~shefty%2Frdma-win.git refresh --- diff --git a/meta b/meta index 10a6982f..8d5e5631 100644 --- a/meta +++ b/meta @@ -1,9 +1,8 @@ Version: 1 -Previous: 6218c4ba73ffa9d75e8336334a5789dec178609e -Head: a1e02bcfd3decea25567c25cfdca6dbcb79661c7 +Previous: efddc91177e17da5883ad68868fd02422268b2f2 +Head: afc30fe7e27cbba56f795b0fb021118c820a24bb Applied: - dapl-evd: 9d48d92cef68f89ce9a8f84858f4cb49b690241c - refresh-temp: a1e02bcfd3decea25567c25cfdca6dbcb79661c7 + dapl-evd: afc30fe7e27cbba56f795b0fb021118c820a24bb Unapplied: overlap: dfe75689835ce5dc1dbe80fd8c8ca144db6383b9 dapl-qp: 57f50f5e232bbdddff67fc4dae43c66cfce81c5e diff --git a/patches/dapl-evd b/patches/dapl-evd index 4d2f3035..6c8e9196 100644 --- a/patches/dapl-evd +++ b/patches/dapl-evd @@ -1,5 +1,5 @@ Bottom: e0a336baf5ecfc37b867ad87df4aa629ac448200 -Top: 1f8a8438356e65ed344028d949bd8033fc3cdae4 +Top: 84611ba9217ac3e6de75f53e37b41fcca0916e87 Author: Sean Hefty Date: 2010-09-16 10:11:40 -0700 @@ -8,43 +8,91 @@ dapl: fix returning unformatted event to the user --- +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 3bfc541..e7268ac 100644 +index 3bfc541..32d50cc 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) +@@ -202,6 +202,8 @@ 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) ++{ ++ 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); ++ + #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 4035008..b27fd15 100644 +index 4035008..675e948 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, +@@ -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); + } + } else { +- /* +- * We're in DAPL_EVD_STATE_WAITED. Take the lock if +- * we don't have it, recheck, and signal. +- */ +- if (!evd_ptr->evd_producer_locking_needed) { +- dapl_os_lock(&evd_ptr->header.lock); +- } +- + if (evd_ptr->evd_state == DAPL_EVD_STATE_WAITED + && (dapls_rbuf_count(&evd_ptr->pending_event_queue) + >= evd_ptr->threshold)) { +@@ -1187,10 +1179,6 @@ dapli_evd_cqe_to_event(IN DAPL_EVD * evd_ptr, ep_ptr = cookie->ep; dapl_os_assert((NULL != ep_ptr)); @@ -55,7 +103,7 @@ index 4035008..b27fd15 100644 dapls_io_trc_update_completion(ep_ptr, cookie, dto_status); -@@ -1392,7 +1388,7 @@ void dapls_evd_copy_cq(DAPL_EVD * evd_ptr) +@@ -1392,7 +1380,7 @@ void dapls_evd_copy_cq(DAPL_EVD * evd_ptr) dapli_evd_cqe_to_event(evd_ptr, &cur_cqe, event); @@ -64,6 +112,19 @@ index 4035008..b27fd15 100644 } if (DAT_GET_TYPE(dat_status) != DAT_QUEUE_EMPTY) { +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) { 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 diff --git a/patches/refresh-temp b/patches/refresh-temp deleted file mode 100644 index 8bc66f75..00000000 --- a/patches/refresh-temp +++ /dev/null @@ -1,125 +0,0 @@ -Bottom: 1f8a8438356e65ed344028d949bd8033fc3cdae4 -Top: 84611ba9217ac3e6de75f53e37b41fcca0916e87 -Author: Sean Hefty -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) -+{ -+ 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); -+ - #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); - } - } else { -- /* -- * We're in DAPL_EVD_STATE_WAITED. Take the lock if -- * we don't have it, recheck, and signal. -- */ -- if (!evd_ptr->evd_producer_locking_needed) { -- dapl_os_lock(&evd_ptr->header.lock); -- } -- - if (evd_ptr->evd_state == DAPL_EVD_STATE_WAITED - && (dapls_rbuf_count(&evd_ptr->pending_event_queue) - >= evd_ptr->threshold)) { -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) {