From a76fae7b6eadcffcbd40e39c5d75160d7d215f5d Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Thu, 27 Oct 2016 22:25:31 -0400 Subject: Add support for isolcpu and VPP thread pinning Also depend on https://github.com/radez/puppet-fdio/pull/14 JIRA: APEX-337 opnfv-tht-pr: 92 Change-Id: Ic3d2f04bfd1983c38e09a2bfa3992a572fc9c6c1 Signed-off-by: Feng Pan (cherry picked from commit 6fd923895a663923f0569078eceb3818373b3e1d) --- build/build_perf_image.sh | 11 +++++++++++ config/deploy/os-nosdn-fdio-noha.yaml | 10 ++++++++++ config/deploy/os-odl_l2-fdio-ha.yaml | 10 ++++++++++ config/deploy/os-odl_l2-fdio-noha.yaml | 10 ++++++++++ lib/overcloud-deploy-functions.sh | 4 ++++ lib/python/apex/deploy_env.py | 2 +- 6 files changed, 46 insertions(+), 1 deletion(-) diff --git a/build/build_perf_image.sh b/build/build_perf_image.sh index 68a1804f..68f74ea2 100644 --- a/build/build_perf_image.sh +++ b/build/build_perf_image.sh @@ -41,3 +41,14 @@ if [ "$CATEGORY" == "kernel" ]; then fi fi +if [ "$CATEGORY" == "vpp" ]; then + if [ "$KEY" == "main-core" ]; then + sudo sed -i "/${ROLE}VPPMainCore:/c\ ${ROLE}VPPMainCore: '${VALUE}'" /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml + fi + if [ "$KEY" == "corelist-workers" ]; then + sudo sed -i "/${ROLE}VPPCorelistWorkers:/c\ ${ROLE}VPPCorelistWorkers: '${VALUE}'" /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml + fi + if [ "$KEY" == "uio-driver" ]; then + sudo sed -i "/${ROLE}UIODriver:/c\ ${ROLE}UIODriver: '${VALUE}'" /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml + fi +fi \ No newline at end of file diff --git a/config/deploy/os-nosdn-fdio-noha.yaml b/config/deploy/os-nosdn-fdio-noha.yaml index 4d27ae87..660237d6 100644 --- a/config/deploy/os-nosdn-fdio-noha.yaml +++ b/config/deploy/os-nosdn-fdio-noha.yaml @@ -15,9 +15,19 @@ deploy_options: kernel: hugepages: 1024 hugepagesz: 2M + isolcpus: 1,2 + vpp: + main-core: 1 + corelist-workers: 2 + uio-driver: uio_pci_generic Compute: kernel: hugepagesz: 2M hugepages: 2048 intel_iommu: 'on' iommu: pt + isolcpus: 1,2 + vpp: + main-core: 1 + corelist-workers: 2 + uio-driver: uio_pci_generic diff --git a/config/deploy/os-odl_l2-fdio-ha.yaml b/config/deploy/os-odl_l2-fdio-ha.yaml index d75dc1dc..82836573 100644 --- a/config/deploy/os-odl_l2-fdio-ha.yaml +++ b/config/deploy/os-odl_l2-fdio-ha.yaml @@ -18,9 +18,19 @@ deploy_options: hugepagesz: 2M intel_iommu: 'on' iommu: pt + isolcpus: 1,2 + vpp: + main-core: 1 + corelist-workers: 2 + uio-driver: uio_pci_generic Compute: kernel: hugepagesz: 2M hugepages: 2048 intel_iommu: 'on' iommu: pt + isolcpus: 1,2 + vpp: + main-core: 1 + corelist-workers: 2 + uio-driver: uio_pci_generic diff --git a/config/deploy/os-odl_l2-fdio-noha.yaml b/config/deploy/os-odl_l2-fdio-noha.yaml index 207c6f34..53d6181a 100644 --- a/config/deploy/os-odl_l2-fdio-noha.yaml +++ b/config/deploy/os-odl_l2-fdio-noha.yaml @@ -18,9 +18,19 @@ deploy_options: hugepagesz: 2M intel_iommu: 'on' iommu: pt + isolcpus: 1,2 + vpp: + main-core: 1 + corelist-workers: 2 + uio-driver: uio_pci_generic Compute: kernel: hugepagesz: 2M hugepages: 2048 intel_iommu: 'on' iommu: pt + isolcpus: 1,2 + vpp: + main-core: 1 + corelist-workers: 2 + uio-driver: uio_pci_generic diff --git a/lib/overcloud-deploy-functions.sh b/lib/overcloud-deploy-functions.sh index ee89aef3..f23390b7 100755 --- a/lib/overcloud-deploy-functions.sh +++ b/lib/overcloud-deploy-functions.sh @@ -199,6 +199,10 @@ if [ -n "${public_network_controller_interface}" ]; then fi EOI + echo -e "${blue}INFO: Including /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml ${reset}" + if [ "$debug" == 'TRUE' ]; then + ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" "cat /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml" + fi DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml" fi diff --git a/lib/python/apex/deploy_env.py b/lib/python/apex/deploy_env.py index 816dc114..10b7831f 100644 --- a/lib/python/apex/deploy_env.py +++ b/lib/python/apex/deploy_env.py @@ -24,7 +24,7 @@ REQ_DEPLOY_SETTINGS = ['sdn_controller', OPT_DEPLOY_SETTINGS = ['performance', 'vsperf'] VALID_ROLES = ['Controller', 'Compute', 'ObjectStorage'] -VALID_PERF_OPTS = ['kernel', 'nova'] +VALID_PERF_OPTS = ['kernel', 'nova', 'vpp'] VALID_DATAPLANES = ['ovs', 'ovs_dpdk', 'fdio'] -- cgit 1.2.3-korg