aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaryam Tahhan <maryam.tahhan@intel.com>2015-08-25 14:17:31 +0000
committerGerrit Code Review <gerrit@172.30.200.206>2015-08-25 14:17:31 +0000
commit91bc210a11e44eb9e377c18b5ae0e95dce159409 (patch)
tree7bffdeff2fd24f7a41c3b3dacf54218fd13177aa
parentfcdbebe21c7ce590bb6e321506dcd722ad9f9863 (diff)
parenta3ac6bb9958c96340cff07d7e464bf1028344318 (diff)
Merge "vswitches: Affinitize vswitch threads for OVS-DPDK"
-rw-r--r--conf/02_vswitch.conf6
-rw-r--r--vswitches/ovs_dpdk_vhost.py11
2 files changed, 16 insertions, 1 deletions
diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf
index 851b6d62..c7fe03f0 100644
--- a/conf/02_vswitch.conf
+++ b/conf/02_vswitch.conf
@@ -45,6 +45,12 @@ VSWITCH_VANILLA_KERNEL_MODULES = ['openvswitch']
# directory where hugepages will be mounted on system init
HUGEPAGE_DIR = '/dev/hugepages'
+# Sets OVS PMD core mask to 2 for CPU core 1 affinitization
+VSWITCH_PMD_CPU_MASK = '2'
+VSWITCH_AFFINITIZATION_ON = 1
+
+VSWITCH_FLOW_TIMEOUT = '30000'
+
# list of tuples of format (path, module_name), which will be inserted
# using 'insmod' on system init
diff --git a/vswitches/ovs_dpdk_vhost.py b/vswitches/ovs_dpdk_vhost.py
index ee0939a4..2e726a43 100644
--- a/vswitches/ovs_dpdk_vhost.py
+++ b/vswitches/ovs_dpdk_vhost.py
@@ -73,7 +73,16 @@ class OvsDpdkVhost(IVSwitch):
bridge = OFBridge(switch_name)
bridge.create()
bridge.set_db_attribute('Open_vSwitch', '.',
- 'other_config:max-idle', '60000')
+ 'other_config:max-idle',
+ settings.getValue('VSWITCH_FLOW_TIMEOUT'))
+
+ if settings.getValue('VSWITCH_AFFINITIZATION_ON') == 1:
+ # Sets the PMD core mask to VSWITCH_PMD_CPU_MASK
+ # for CPU core affinitization
+ bridge.set_db_attribute('Open_vSwitch', '.',
+ 'other_config:pmd-cpu-mask',
+ settings.getValue('VSWITCH_PMD_CPU_MASK'))
+
bridge.set_db_attribute('Bridge', bridge.br_name,
'datapath_type', 'netdev')
self._bridges[switch_name] = bridge