The INDAdapter::Query implementation doesn't set the maximum transfer lengths properly. This patch fixes this, and allows MSMPI to chunk large transfers properly.
Note that the changes to ib_port_attr_t to support RoCEE (the transport enum) broke my testing because I tried updating only the ND provider without updating the kernel drivers. This sucked, and the transport field should be moved as Sean pointed out (and provided a patch.) Signed-off-by: Fab Tillier <[email protected]> Index: ulp/nd/user/NdAdapter.cpp =================================================================== --- ulp/nd/user/NdAdapter.cpp (revision 2676) +++ ulp/nd/user/NdAdapter.cpp (working copy) @@ -256,12 +256,14 @@ HRESULT CAdapter::Query( return hr; } + pInfo->VendorId = pAttr->vend_id; + pInfo->DeviceId = pAttr->dev_id; pInfo->MaxInboundSge = pAttr->max_sges; pInfo->MaxInboundRequests = pAttr->max_wrs; - pInfo->MaxInboundLength = INT_MAX; + pInfo->MaxInboundLength = pAttr->p_port_attr[m_PortNum - 1].max_msg_size; pInfo->MaxOutboundSge = pAttr->max_sges; pInfo->MaxOutboundRequests = pAttr->max_wrs; - pInfo->MaxOutboundLength = INT_MAX; + pInfo->MaxOutboundLength = pAttr->p_port_attr[m_PortNum - 1].max_msg_size; pInfo->MaxInboundReadLimit = pAttr->max_qp_resp_res; pInfo->MaxOutboundReadLimit = pAttr->max_qp_init_depth; pInfo->MaxCqEntries = pAttr->max_cqes;
nd.patch
Description: nd.patch
_______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
