From b6a5bac1168c8873e640c33ae65cfeaf08262605 Mon Sep 17 00:00:00 2001 From: stansmith Date: Fri, 13 Apr 2007 22:35:53 +0000 Subject: [PATCH 1/1] [DPL] Dynamic EVD enlargement code removed as it caused more problems than it was worth. [DAPL] Do not use ca_attr->max_sges for qp_create.rq_sge and qp_create.rq_sge. Use what caller supplied. Both changes allowed MPI testing to proceed without QP create errors. Sync with Linux src. git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@630 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- ulp/dapl/dapl/ibal/dapl_ibal_qp.c | 47 ++++++------------------------- 1 file changed, 9 insertions(+), 38 deletions(-) diff --git a/ulp/dapl/dapl/ibal/dapl_ibal_qp.c b/ulp/dapl/dapl/ibal/dapl_ibal_qp.c index 2d3ea964..c6a45744 100644 --- a/ulp/dapl/dapl/ibal/dapl_ibal_qp.c +++ b/ulp/dapl/dapl/ibal/dapl_ibal_qp.c @@ -136,40 +136,6 @@ dapls_ib_qp_alloc ( cq_recv = IB_INVALID_HANDLE; cq_send = IB_INVALID_HANDLE; - /* Dynamic EVD enlargement */ - if ( recv_evd_ptr == request_evd_ptr ) - { - DAT_COUNT min_qlen = attr->max_recv_dtos + attr->max_request_dtos; - if ( min_qlen > recv_evd_ptr->qlen ) - { - dat_status = dapl_evd_resize ((DAT_EVD_HANDLE)recv_evd_ptr, - min_qlen); - if ( dat_status != DAT_SUCCESS ) { - dapl_dbg_log (DAPL_DBG_TYPE_ERR,"--> DsQA: failed to resize EVD(%p)\n",recv_evd_ptr); - return dat_status; - } - } - } else { - if (attr->max_recv_dtos > recv_evd_ptr->qlen) - { - dat_status = dapl_evd_resize ((DAT_EVD_HANDLE)recv_evd_ptr, - attr->max_recv_dtos); - if ( dat_status != DAT_SUCCESS ) { - dapl_dbg_log (DAPL_DBG_TYPE_ERR,"--> DsQA: failed to resize EVD(%p)\n",recv_evd_ptr); - return dat_status; - } - } - if (attr->max_request_dtos > request_evd_ptr->qlen) - { - dat_status = dapl_evd_resize ((DAT_EVD_HANDLE)request_evd_ptr, - attr->max_request_dtos); - if ( dat_status != DAT_SUCCESS ) { - dapl_dbg_log (DAPL_DBG_TYPE_ERR,"--> DsQA: failed to resize EVD(%p)\n",request_evd_ptr); - return dat_status; - } - } - } - dapl_os_assert ( recv_evd_ptr != DAT_HANDLE_NULL ); { cq_recv = (ib_cq_handle_t) recv_evd_ptr->ib_cq_handle; @@ -236,17 +202,21 @@ dapls_ib_qp_alloc ( */ p_ca = (dapl_ibal_ca_t *) ia_ptr->hca_ptr->ib_hca_handle; - dapl_os_memzero (&qp_create, sizeof (qp_create)); qp_create.qp_type = IB_QPT_RELIABLE_CONN; qp_create.sq_depth = attr->max_request_dtos; qp_create.rq_depth = attr->max_recv_dtos; - qp_create.sq_sge = p_ca->p_ca_attr->max_sges; - qp_create.rq_sge = p_ca->p_ca_attr->max_sges; + qp_create.sq_sge = attr->max_recv_iov; + qp_create.rq_sge = attr->max_request_iov; qp_create.h_sq_cq = cq_send; qp_create.h_rq_cq = cq_recv; qp_create.sq_signaled = FALSE; + dapl_dbg_log (DAPL_DBG_TYPE_EP, + "--> DsQA: sqd,iov=%d,%d rqd,iov=%d,%d\n", + attr->max_request_dtos, attr->max_request_iov, + attr->max_recv_dtos, attr->max_recv_iov); + ib_status = ib_create_qp ( ib_pd_handle, &qp_create, @@ -256,7 +226,8 @@ dapls_ib_qp_alloc ( if (ib_status != IB_SUCCESS) { - dapl_dbg_log (DAPL_DBG_TYPE_ERR, "--> DsQA: Create QP failed = %s\n", ib_get_err_str(ib_status)); + dapl_dbg_log (DAPL_DBG_TYPE_ERR, + "--> DsQA: Create QP failed = %s\n", ib_get_err_str(ib_status)); return (DAT_INSUFFICIENT_RESOURCES); } -- 2.17.1