[ofw] [PATCH] ND provider INDAdaper::Query busted
Smith, Stan
stan.smith at intel.com
Thu Mar 11 10:59:39 PST 2010
SIZE_T cast required for 'Warning free' compile on win7 x86 checked.
pInfo->MaxInboundLength = (SIZE_T) pAttr->p_port_attr[m_PortNum - 1].max_msg_size;
pInfo->MaxOutboundLength = (SIZE_T) pAttr->p_port_attr[m_PortNum - 1].max_msg_size;
stan.
Fab Tillier wrote:
> 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 <ftillier at microsoft.com>
>
> 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;
More information about the ofw
mailing list