kernel_optimize_test/net/sunrpc
Chuck Lever 12a804698b [PATCH] RPC: expose API for serializing access to RPC transports
The next several patches introduce an API that allows transports to
 choose whether the RPC client provides congestion control or whether
 the transport itself provides it.

 The first method we abstract is the one that serializes access to the
 RPC transport to prevent the bytes from different requests from mingling
 together.  This method provides proper request serialization and the
 opportunity to prevent new requests from being started because the
 transport is congested.

 The normal situation is for the transport to handle congestion control
 itself.  Although NFS over UDP was first, it has been recognized after
 years of experience that having the transport provide congestion control
 is much better than doing it in the RPC client.  Thus TCP, and probably
 every future transport implementation, will use the default method,
 xprt_lock_write, provided in xprt.c, which does not provide any kind
 of congestion control.  UDP can continue using the xprt.c-provided
 Van Jacobson congestion avoidance implementation.

 Test-plan:
 Use WAN simulation to cause sporadic bursty packet loss.  Look for significant
 regression in performance or client stability.

 Signed-off-by: Chuck Lever <cel@netapp.com>
 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-09-23 12:38:38 -04:00
..
auth_gss [PATCH] RPC: skip over transport-specific heads automatically 2005-09-23 12:38:33 -04:00
auth_null.c [PATCH] RPC: Eliminate socket.h includes in RPC client 2005-09-23 12:38:23 -04:00
auth_unix.c [PATCH] RPC: Eliminate socket.h includes in RPC client 2005-09-23 12:38:23 -04:00
auth.c [PATCH] RPC: Eliminate socket.h includes in RPC client 2005-09-23 12:38:23 -04:00
cache.c [PATCH] sunrpc: cache_register can use wrong module reference 2005-09-07 16:57:25 -07:00
clnt.c [PATCH] RPC: skip over transport-specific heads automatically 2005-09-23 12:38:33 -04:00
Makefile [PATCH] RPC: introduce client-side transport switch 2005-09-23 12:38:12 -04:00
pmap_clnt.c [PATCH] RPC: portmapper doesn't need a reserved port 2005-09-23 12:38:08 -04:00
rpc_pipe.c [PATCH] remove driverfs references from include/linux/cpu.h and net/sunrpc/rpc_pipe.c 2005-09-02 00:57:31 -07:00
sched.c [NET]: use __read_mostly on kmem_cache_t , DEFINE_SNMP_STAT pointers 2005-08-29 16:11:18 -07:00
socklib.c [PATCH] RPC: extract socket logic common to both client and server 2005-09-23 12:38:11 -04:00
stats.c [PATCH] sunrpc: print unsigned integers in stats 2005-09-07 16:57:39 -07:00
sunrpc_syms.c [PATCH] RPC: Eliminate socket.h includes in RPC client 2005-09-23 12:38:23 -04:00
svc.c [PATCH] RPC: Allow the sunrpc server to multiplex serveral programs on a single port 2005-06-22 16:07:22 -04:00
svcauth_unix.c [PATCH] sunrpc: cache_register can use wrong module reference 2005-09-07 16:57:25 -07:00
svcauth.c [PATCH] sunrpc: cache_register can use wrong module reference 2005-09-07 16:57:25 -07:00
svcsock.c [PATCH] RPC: extract socket logic common to both client and server 2005-09-23 12:38:11 -04:00
sysctl.c [PATCH] RPC: introduce client-side transport switch 2005-09-23 12:38:12 -04:00
timer.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xdr.c [PATCH] RPC: introduce client-side transport switch 2005-09-23 12:38:12 -04:00
xprt.c [PATCH] RPC: expose API for serializing access to RPC transports 2005-09-23 12:38:38 -04:00
xprtsock.c [PATCH] RPC: expose API for serializing access to RPC transports 2005-09-23 12:38:38 -04:00