summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2007-03-06 17:11:29 +1100
committerGreg Kroah-Hartman <gregkh@suse.de>2007-03-09 10:50:21 -0800
commit97f35487312eb92de7f3dc5f44779b6a2bb84e67 (patch)
tree3a629a9d56c0611160a37dc76ebab121506e1f90 /net
parent5edd24258c5eae0a5cadc612ea1d6e13ec54e536 (diff)
Avoid using nfsd process pools on SMP machines.
process-pools have real benefits for NUMA, but on SMP machines they only work if network interface interrupts go to all CPUs (via round-robin or multiple nics). This is not always the case, so disable the pools in this case until a better solution is developped. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> diff .prev/net/sunrpc/svc.c ./net/sunrpc/svc.c
Diffstat (limited to 'net')
-rw-r--r--net/sunrpc/svc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index c1f878131ac6..39fada1cee4e 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -79,7 +79,11 @@ svc_pool_map_choose_mode(void)
* x86_64 kernel on Xeons. In this case we
* want to divide the pools on cpu boundaries.
*/
- return SVC_POOL_PERCPU;
+ /* actually, unless your IRQs round-robin nicely,
+ * this turns out to be really bad, so just
+ * go GLOBAL for now until a better fix can be developped
+ */
+ return SVC_POOL_GLOBAL;
}
/* default: one global pool */