On Fri, 2009-11-20 at 17:46 -0500, Chuck Lever wrote: > The kernel's rpcbind client creates and deletes an rpc_clnt and its > underlying transport socket for every upcall to the local rpcbind > daemon. > > When starting a typical NFS server on IPv4 and IPv6, the NFS service > itself does three upcalls (one per version) times two upcalls (one > per transport) times two upcalls (one per address family), making 12, > plus another one for the initial call to unregister previous NFS > services. Starting the NLM service adds an additional 13 upcalls, > for similar reasons. > > (Currently the NFS service doesn't start IPv6 listeners, but it will > soon enough). > > Instead, let's create an rpc_clnt for rpcbind upcalls during the > first local rpcbind query, and cache it. This saves the overhead of > creating and destroying an rpc_clnt and a socket for every upcall. > > Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> > --- > > Trond- > > Does this refresh address your concern? Most of them. You still need to fix cleanup_rpcb_clnt() so that it doesn't try to call rpc_shutdown_client() with NULL arguments. Cheers Trond -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html