SUNRPC: Avoid an unnecessary task reschedule on ENOTCONN
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 11 Mar 2009 18:37:57 +0000 (14:37 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 11 Mar 2009 18:37:57 +0000 (14:37 -0400)
commit15f081ca8ddfe150fb639c591b18944a539da0fc
tree24261e97034770ab827d153cc541222e04701ac3
parenta67d18f89f5782806135aad4ee012ff78d45aae7
SUNRPC: Avoid an unnecessary task reschedule on ENOTCONN

If the socket is unconnected, and xprt_transmit() returns ENOTCONN, we
currently give up the lock on the transport channel. Doing so means that
the lock automatically gets assigned to the next task in the xprt->sending
queue, and so that task needs to be woken up to do the actual connect.

The following patch aims to avoid that unnecessary task switch.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/clnt.c