svcrdma: Remove transport reference counting
authorChuck Lever <chuck.lever@oracle.com>
Tue, 30 Jun 2020 17:25:41 +0000 (13:25 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Tue, 28 Jul 2020 14:18:14 +0000 (10:18 -0400)
commit365e9992b90fbbfda89f72866783fd52bbd58e64
tree3411338429110ca8c7eebaa35a8c6f4d2153882e
parent64d26422516b2e347b32e6d9b1d40b3c19a62aae
svcrdma: Remove transport reference counting

Jason tells me that a ULP cannot rely on getting an ESTABLISHED
and DISCONNECTED event pair for each connection, so transport
reference counting in the CM event handler will never be reliable.

Now that we have ib_drain_qp(), svcrdma should no longer need to
hold transport references while Sends and Receives are posted. So
remove the get/put call sites in the CM event handlers.

This eliminates a significant source of locked memory bus traffic.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
net/sunrpc/xprtrdma/svc_rdma_rw.c
net/sunrpc/xprtrdma/svc_rdma_sendto.c
net/sunrpc/xprtrdma/svc_rdma_transport.c