Configure DPDK options to isolate PMD cores and ovs process cores
authorJaganathan Palanisamy <jpalanis@redhat.com>
Mon, 19 Dec 2016 15:08:41 +0000 (10:08 -0500)
committerJaganathan Palanisamy <jpalanis@redhat.com>
Tue, 20 Dec 2016 06:25:13 +0000 (01:25 -0500)
The parameter -l in DPDK_OPTIONS is applied to both list cores to be
used by PMD and the list of cores that all the OVS threads should run
on. This will impact the DPDK performance, as cores on which PMD are
running, should be completely isolated (no other process should) use
it. For this, we are configuring, -l option with list of host cpus and
the list PMD cores will be configured using ovs-vsctl config command.

Depends-On: Ib95281bcbde34c18d26ee11d4e2603b267db563b

Change-Id: Ie8e2939abfd3447b2fc028a78fd2f2e9c2d8d5b5
Fixes-Bug: #1649836

puppet/services/neutron-ovs-dpdk-agent.yaml

index fdfa1c0..5c86101 100644 (file)
@@ -18,6 +18,11 @@ parameters:
     description: Mapping of service endpoint -> protocol. Typically set
                  via parameter_defaults in the resource registry.
     type: json
+  HostCpusList:
+    description: List of cores to be used for host process
+    type: string
+    constraints:
+      - allowed_pattern: "'[0-9,-]+'"
   NeutronDpdkCoreList:
     description: List of cores to be used for DPDK Poll Mode Driver
     type: string
@@ -68,7 +73,8 @@ outputs:
           - neutron::agents::ml2::ovs::enable_dpdk: true
             neutron::agents::ml2::ovs::datapath_type: {get_param: NeutronDatapathType}
             neutron::agents::ml2::ovs::vhostuser_socket_dir: {get_param: NeutronVhostuserSocketDir}
-            vswitch::dpdk::core_list: {get_param: NeutronDpdkCoreList}
+            vswitch::dpdk::host_core_list: {get_param: HostCpusList}
+            vswitch::dpdk::pmd_core_list: {get_param: NeutronDpdkCoreList}
             vswitch::dpdk::memory_channels: {get_param: NeutronDpdkMemoryChannels}
             vswitch::dpdk::socket_mem: {get_param: NeutronDpdkSocketMemory}
             vswitch::dpdk::driver_type: {get_param: NeutronDpdkDriverType}