IB/cma: Send MRA for reply messages
authorMoni Shoua <monis@mellanox.com>
Sun, 16 Apr 2017 04:31:34 +0000 (07:31 +0300)
committerDoug Ledford <dledford@redhat.com>
Fri, 21 Apr 2017 16:29:31 +0000 (12:29 -0400)
commit61c0ddbe97721d69ace947d1afa956b7646bcdc9
treee08a58f9fcbf494e95c1a9b8a9834ce38379b670
parente1f24a79f424ddb03828de7c0152668c9a30146e
IB/cma: Send MRA for reply messages

Current implementation of RDMA_CM sends MRA (Message Receipt
Acknowledgment) only for request messages but not for response messages.

As a result, a slow active side of the connection may send a ready-to-use
message to the passive side in a delay that is too long for the passive
side to wait for.

This patch adds a call to ib_send_cm_mra() upon receiving a response
message and by this tells the other side to modify the service timeout
to a bigger value, 16 times than before. As in the request case, MRA
for reply will be sent only if a duplicate response has arrived.

Signed-off-by: Moni Shoua <monis@mellanox.com>
Reviewed-by: Matan Barak <matan@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/core/cma.c