]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] knfsd: make rpc threads pools numa aware
authorGreg Banks <gnb@melbourne.sgi.com>
Mon, 2 Oct 2006 09:18:01 +0000 (02:18 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 2 Oct 2006 14:57:20 +0000 (07:57 -0700)
commitb94688b9d9595d6c3ec2f4a89c40c30914cfdc77
tree7f04604adee7249e686d1db0cac93f1fee8bc5b6
parentc75a9212d4ff7567f6d2e2f6eaac4524c71ca64b
[PATCH] knfsd: make rpc threads pools numa aware

Actually implement multiple pools.  On NUMA machines, allocate a svc_pool per
NUMA node; on SMP a svc_pool per CPU; otherwise a single global pool.  Enqueue
sockets on the svc_pool corresponding to the CPU on which the socket bh is run
(i.e.  the NIC interrupt CPU).  Threads have their cpu mask set to limit them
to the CPUs in the svc_pool that owns them.

This is the patch that allows an Altix to scale NFS traffic linearly
beyond 4 CPUs and 4 NICs.

Incorporates changes and feedback from Neil Brown, Trond Myklebust, and
Christoph Hellwig.

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>
include/linux/sunrpc/svc.h
net/sunrpc/svc.c
net/sunrpc/svcsock.c