SUNRPC: Prevent thundering herd when the socket is not connected
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 4 Mar 2019 19:19:31 +0000 (14:19 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Thu, 7 Mar 2019 21:45:19 +0000 (16:45 -0500)
commited7dc973bd91da234d93aff6d033a5206a6c9885
treee5927d8cbd2999455e0331e5b9ba57b36b9d1ad8
parent0d1bf3407c4ae887a464d136aaa5e9ef609834f0
SUNRPC: Prevent thundering herd when the socket is not connected

If the socket is not connected, then we want to initiate a reconnect
rather that trying to transmit requests. If there is a large number
of requests queued and waiting for the lock in call_transmit(),
then it can take a while for one of the to loop back and retake
the lock in call_connect.

Fixes: 89f90fe1ad8b ("SUNRPC: Allow calls to xprt_transmit() to drain...")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
net/sunrpc/clnt.c