linux/net/sunrpc
Greg Banks 3262c816a3 [PATCH] knfsd: split svc_serv into pools
Split out the list of idle threads and pending sockets from svc_serv into a
new svc_pool structure, and allocate a fixed number (in this patch, 1) of
pools per svc_serv.  The new structure contains a lock which takes over
several of the duties of svc_serv->sv_lock, which is now relegated to
protecting only sv_tempsocks, sv_permsocks, and sv_tmpcnt in svc_serv.

The point is to move the hottest fields out of svc_serv and into svc_pool,
allowing a following patch to arrange for a svc_pool per NUMA node or per CPU.
 This is a major step towards making the NFS server NUMA-friendly.

Signed-off-by: Greg Banks <gnb@melbourne.sgi.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-02 07:57:19 -07:00
..
auth_gss [SUNRPC]: more sunrpc endianness annotations 2006-09-28 18:01:22 -07:00
Makefile [PATCH] RPC: introduce client-side transport switch 2005-09-23 12:38:12 -04:00
auth.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00
auth_null.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00
auth_unix.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00
cache.c [PATCH] knfsd: fix race related problem when adding items to and svcrpc auth cache 2006-08-06 08:57:47 -07:00
clnt.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00
pmap_clnt.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00
rpc_pipe.c [PATCH] r/o bind mount prepwork: inc_nlink() helper 2006-10-01 00:39:30 -07:00
sched.c [PATCH] Really ignore kmem_cache_destroy return value 2006-09-27 08:26:10 -07:00
socklib.c [NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE 2006-09-22 14:53:53 -07:00
stats.c [NET]: Conversions from kmalloc+memset to k(z|c)alloc. 2006-07-21 14:51:30 -07:00
sunrpc_syms.c SUNRPC: Eliminate xprt_create_proto and rpc_create_client 2006-09-22 23:24:51 -04:00
svc.c [PATCH] knfsd: split svc_serv into pools 2006-10-02 07:57:19 -07:00
svcauth.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00
svcauth_unix.c [PATCH] knfsd: remove an unused variable from auth_unix_lookup() 2006-10-02 07:57:17 -07:00
svcsock.c [PATCH] knfsd: split svc_serv into pools 2006-10-02 07:57:19 -07:00
sysctl.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
timer.c SUNRPC: remove extraneous header inclusions 2006-09-22 23:24:47 -04:00
xdr.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00
xprt.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00
xprtsock.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00