]> asedeno.scripts.mit.edu Git - linux.git/commit
RDMA/cma: Use ACK timeout for RoCE packetLifeTime
authorDag Moxnes <dag.moxnes@oracle.com>
Wed, 30 Oct 2019 12:44:00 +0000 (13:44 +0100)
committerJason Gunthorpe <jgg@mellanox.com>
Sun, 17 Nov 2019 14:37:00 +0000 (10:37 -0400)
commite1ee1e62bec4a8968355517ea11b2a06b7364408
tree2803c2a79f2820d1e3132677ece6ace3e4f885fd
parent72b894b09a96b741c92562709f6629310f2b34a1
RDMA/cma: Use ACK timeout for RoCE packetLifeTime

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.

Link: https://lore.kernel.org/r/1572439440-17416-1-git-send-email-dag.moxnes@oracle.com
Signed-off-by: Dag Moxnes <dag.moxnes@oracle.com>
Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/core/cma.c