Re: [PATCH rdma-next v2] RDMA/cma: Use ACK timeout for RoCE packetLifeTime

From: Jason Gunthorpe
Date: Thu Nov 14 2019 - 11:48:51 EST


On Wed, Oct 30, 2019 at 01:44:00PM +0100, Dag Moxnes wrote:
> The cma is currently using a hard-coded value, CMA_IBOE_PACKET_LIFETIME,
> for the PacketLifeTime, as it can not be determined from the network.
> This value might not be optimal for all networks.
>
> The cma module supports the function rdma_set_ack_timeout to set the
> ACK timeout for a QP associated with a connection. As per IBTA 12.7.34
> local ACK timeout = (2 * PacketLifeTime + Local CAâs ACK delay).
> Assuming a negligible local ACK delay, we can use
> PacketLifeTime = local ACK timeout/2
> as a reasonable approximation for RoCE networks.
>
> Signed-off-by: Dag Moxnes <dag.moxnes@xxxxxxxxxx>
> ---
> drivers/infiniband/core/cma.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)

This seems like a reasonable thing to do, applied to for-next

Thanks,
Jason