summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2009-03-11 18:10:21 (GMT)
committerTrond Myklebust <Trond.Myklebust@netapp.com>2009-03-11 18:10:21 (GMT)
commitfe315e76fc3a3f9f7e1581dc22fec7e7719f0896 (patch)
tree15ba17ab92691d55f3e3168df8fef2fb366339c0 /fs
parent01d37c428ae080563c0a3bb8bdfa88c65a6891d3 (diff)
downloadlinux-fe315e76fc3a3f9f7e1581dc22fec7e7719f0896.tar.xz
SUNRPC: Avoid spurious wake-up during UDP connect processing
To clear out old state, the UDP connect workers unconditionally invoke xs_close() before proceeding with a new connect. Nowadays this causes a spurious wake-up of the task waiting for the connect to complete. This is a little racey, but usually harmless. The waiting task immediately retries the connect via a call_bind/call_connect sequence, which usually finds the transport already in the connected state because the connect worker has finished in the background. To avoid a spurious wake-up, factor the xs_close() logic that resets the underlying socket into a helper, and have the UDP connect workers call that helper instead of xs_close(). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions