From: NeilBrown Date: Tue, 6 Mar 2007 06:11:29 +0000 (+1100) Subject: Avoid using nfsd process pools on SMP machines. X-Git-Tag: v2.6.20.2~74 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97f35487312eb92de7f3dc5f44779b6a2bb84e67;p=thirdparty%2Fkernel%2Fstable.git 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 Signed-off-by: Greg Kroah-Hartman diff .prev/net/sunrpc/svc.c ./net/sunrpc/svc.c --- diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index c1f878131ac61..39fada1cee4e4 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 */