blob: 17252f47c04d88c431199c34e16f452281fa3823 [file] [log] [blame]
From stable-bounces@linux.kernel.org Mon Mar 5 22:14:01 2007
From: NeilBrown <neilb@suse.de>
Date: Tue, 6 Mar 2007 17:11:29 +1100
Subject: Avoid using nfsd process pools on SMP machines.
To: stable@kernel.org
Message-ID: <1070306061129.10623@suse.de>
From: NeilBrown <neilb@suse.de>
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
---
net/sunrpc/svc.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--- linux-2.6.20.1.orig/net/sunrpc/svc.c
+++ linux-2.6.20.1/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 */