xprtrdma: Do not recycle MR after FastReg/LocalInv flushes
authorChuck Lever <chuck.lever@oracle.com>
Mon, 19 Apr 2021 18:03:12 +0000 (14:03 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 26 Apr 2021 13:25:12 +0000 (09:25 -0400)
commite4b52ca01315ad53df41877708428c1c41c1444d
tree415766908cf1960441dbab10266739da1b84f117
parent44438ad9ae22277a261f9fa4fdc6387a8ff50f2e
xprtrdma: Do not recycle MR after FastReg/LocalInv flushes

Better not to touch MRs involved in a flush or post error until the
Send and Receive Queues are drained and the transport is fully
quiescent. Simply don't insert such MRs back onto the free list.
They remain on mr_all and will be released when the connection is
torn down.

I had thought that recycling would prevent hardware resources from
being tied up for a long time. However, since v5.7, a transport
disconnect destroys the QP and other hardware-owned resources. The
MRs get cleaned up nicely at that point.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
include/trace/events/rpcrdma.h
net/sunrpc/xprtrdma/frwr_ops.c