]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
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)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 30 Jul 2009 23:06:08 +0000 (16:06 -0700)
commit33a03f71c22bde120f8915bf0125ef6f40a55b46
treececc9549930288a84e6e6021a748f8913f0c6e2d
parent034b03f44cba675abf2550324c4b2ebc1a4a85b3
SUNRPC: Avoid an unnecessary task reschedule on ENOTCONN

commit 15f081ca8ddfe150fb639c591b18944a539da0fc upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/sunrpc/clnt.c