[ofw] [PATCH 4/4] DAPL v2.0: ucm: release UD cm objects after AH is exchanged to avoid duplicate request drops
Davis, Arlin R
arlin.r.davis at intel.com
Fri Dec 3 15:33:24 PST 2010
When EP is UD mode, AH resolution is handled with DAT connection semantics
connect and accept. Since AH info can be resolved for the same EPs you can
get false duplicate requests because a previous CR from is still on the
CM processing list. The CM object should be removed. It will remain on the
EP free list and not be freed until EP is destroyed given the possibility
of consumer accessing CR private data buffer after CONN_EST event.
Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
---
dapl/openib_ucm/cm.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/dapl/openib_ucm/cm.c b/dapl/openib_ucm/cm.c
index 36291fd..5b157fd 100644
--- a/dapl/openib_ucm/cm.c
+++ b/dapl/openib_ucm/cm.c
@@ -1186,6 +1186,7 @@ ud_bail:
(DAT_COUNT)ntohs(cm->msg.p_size),
(DAT_PVOID *)cm->msg.p_data,
(DAT_PVOID *)&xevent);
+ dapli_cm_free(cm); /* still attached to EP */
} else
#endif
{
@@ -1358,6 +1359,7 @@ static void ucm_accept_rtu(dp_ib_cm_handle_t cm, ib_cm_msg_t *msg)
(DAT_COUNT)ntohs(cm->msg.p_size),
(DAT_PVOID *)cm->msg.p_data,
(DAT_PVOID *)&xevent);
+ dapli_cm_free(cm); /* still attached to EP */
} else {
#endif
dapls_cr_callback(cm, IB_CME_CONNECTED, NULL, 0, cm->sp);
--
1.7.3
More information about the ofw
mailing list