@@ -183,6 +183,13 @@ dapls_ib_qp_alloc(IN DAPL_IA * ia_ptr,
(128 << ia_ptr->hca_ptr->ib_trans.ib_cm.mtu)) {
goto err;
}
+ ep_ptr->qp_handle->ah =
+ (ib_ah_handle_t*) dapl_os_alloc(sizeof(ib_ah_handle_t) * DCM_AH_SPACE);
+
+ if (!ep_ptr->qp_handle->ah)
+ goto err;
+
+ dapl_os_memzero(ep_ptr->qp_handle->ah, sizeof(ib_ah_handle_t) * DCM_AH_SPACE);
}
#endif
@@ -225,9 +232,15 @@ dapls_ib_qp_alloc(IN DAPL_IA * ia_ptr, #endif
ep_ptr->qp_handle->qp = ibv_create_qp(ib_pd_handle, &qp_create);
if (!ep_ptr->qp_handle->qp) {
- dapl_log(1," qp_alloc ERR %d %s line %d on device %s\n",
- errno, strerror(errno), __LINE__ ,
+ dapl_log(1," qp_alloc ERR %d %s on device %s\n",
+ errno, strerror(errno),
ibv_get_device_name(ia_ptr->hca_ptr->ib_trans.ib_dev));
+ dapl_log(1," qp_attr: SQ %d,%d cq %p RQ %d,%d cq %p SRQ %p [inl %d typ %d]\n",
+ qp_create.cap.max_send_wr, qp_create.cap.max_send_sge,
+ req_cq, qp_create.cap.max_recv_wr,
+ qp_create.cap.max_recv_sge, rcv_cq,
+ qp_create.srq, qp_create.cap.max_inline_data,
+ qp_create.qp_type);
ret = errno;
goto err;
}
@@ -330,6 +343,10 @@ err: