aboutsummaryrefslogtreecommitdiff
path: root/lib/locking-selftest-rlock-hardirq.h
diff options
context:
space:
mode:
authorChuck Lever2021-04-19 14:02:09 -0400
committerTrond Myklebust2021-04-26 09:21:44 -0400
commit15788d1d1077ebe029c48842c738876516d85076 (patch)
tree5398f125946bae45ce34d1f586ac89a65942344b /lib/locking-selftest-rlock-hardirq.h
parent32e6b68167f1d446111c973d57e6f52aee11897a (diff)
xprtrdma: Do not refresh Receive Queue while it is draining
Currently the Receive completion handler refreshes the Receive Queue whenever a successful Receive completion occurs. On disconnect, xprtrdma drains the Receive Queue. The first few Receive completions after a disconnect are typically successful, until the first flushed Receive. This means the Receive completion handler continues to post more Receive WRs after the drain sentinel has been posted. The late- posted Receives flush after the drain sentinel has completed, leading to a crash later in rpcrdma_xprt_disconnect(). To prevent this crash, xprtrdma has to ensure that the Receive handler stops posting Receives before ib_drain_rq() posts its drain sentinel. Suggested-by: Tom Talpey <tom@talpey.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'lib/locking-selftest-rlock-hardirq.h')
0 files changed, 0 insertions, 0 deletions