The default number of miss handlers should be the number of processors
minus two to account for the dispatcher and main threads.

Signed-off-by: Ethan Jackson <et...@nicira.com>
---
 ofproto/ofproto.c    |    5 +++--
 vswitchd/vswitch.xml |    2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index a9a20b8..abf14f2 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -642,14 +642,15 @@ ofproto_set_mac_table_config(struct ofproto *ofproto, 
unsigned idle_time,
 }
 
 /* Sets number of upcall handler threads.  The default is
- * (number of online cores - 1). */
+ * (number of online cores - 2). */
 void
 ofproto_set_n_handler_threads(unsigned limit)
 {
     if (limit) {
         n_handler_threads = limit;
     } else {
-        n_handler_threads = MAX(1, sysconf(_SC_NPROCESSORS_ONLN) - 1);
+        int n_proc = sysconf(_SC_NPROCESSORS_ONLN);
+        n_handler_threads = n_proc > 2 ? n_proc - 2 : 1;
     }
 }
 
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index 9a48eb1..4b42ec7 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -163,7 +163,7 @@
               type='{"type": "integer", "minInteger": 1}'>
         <p>
           Specifies the number of threads for software datapaths to use for
-          handling new flows.  The default is one less than the number of
+          handling new flows.  The default is two less than the number of
           online CPU cores (but at least 1).
         </p>
         <p>
-- 
1.7.9.5

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to