From 5db7909f825dfeef7d8ddf9d9385e0dca06d381a Mon Sep 17 00:00:00 2001 From: Guo Ruijing Date: Tue, 6 Sep 2016 19:18:24 -0400 Subject: [PATCH 1/3] Disable cpu features Change-Id: I8e5f1181b699241b061fbddfd9c014e7fc0dc3d1 Signed-off-by: Guo Ruijing (cherry picked from commit cde514abaa5a998b26aada38d989cd5ca6ebd3f2) --- ovs_build/dpdk_16.07/debian/rules | 1 + 1 file changed, 1 insertion(+) diff --git a/ovs_build/dpdk_16.07/debian/rules b/ovs_build/dpdk_16.07/debian/rules index e5b9499..3f5cf1c 100755 --- a/ovs_build/dpdk_16.07/debian/rules +++ b/ovs_build/dpdk_16.07/debian/rules @@ -40,6 +40,7 @@ build-indep: build-config build-arch: build-config dh_testdir + echo "CPUFLAGS_LIST := -DRTE_COMPILE_TIME_CPUFLAGS=" > mk/rte.cpuflags.mk $(MAKE) O=$(DPDK_STATIC_DIR) build # Unfortunately the decision about having static or shared libraries is # made for the whole build, which then produces only .a or .so files From c77582ea96880cc854b9d82cbaa5b5ed2c5c4639 Mon Sep 17 00:00:00 2001 From: Michal Skalski Date: Fri, 9 Sep 2016 03:44:00 +0200 Subject: [PATCH 2/3] Allocate enough memeory for dpdk hugepages Rely on fuel allocate_hugepages task and use dpdk init script only for mounting hugepages. Change-Id: Id561effae09aca21d82868424f61794e8fb03c32 Signed-off-by: Michal Skalski (cherry picked from commit c1e14c9412d7f683918a10f7a336f13c1a0b53dc) --- deployment_scripts/install.sh | 5 ++--- deployment_scripts/puppet/manifests/ovs-install-compute.pp | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/deployment_scripts/install.sh b/deployment_scripts/install.sh index 60b351c..efbed72 100644 --- a/deployment_scripts/install.sh +++ b/deployment_scripts/install.sh @@ -10,7 +10,6 @@ nsh=$2 dpdk=$3 dpdk_socket_mem=${4:-''} - if [ $nsh = 'true' ] then curl http://$host:8080/plugins/fuel-plugin-ovs-0.9/repositories/ubuntu/ovs-nsh-dpdk.tar.gz | tar -xzv @@ -38,8 +37,8 @@ else dpkg -i dpdk_16.07-1_amd64.deb dpkg -i openvswitch-switch-dpdk_2.5.90-1_amd64.deb - dpdk_pages=$(($dpdk_socket_mem / 2)) - sed -i "s/[# ]*\(NR_2M_PAGES=\).*/\1${dpdk_pages}/" /etc/dpdk/dpdk.conf + #Set to 0, dpdk init script mount hugepages but don't change current allocation + sed -i "s/[# ]*\(NR_2M_PAGES=\).*/\10/" /etc/dpdk/dpdk.conf service dpdk start ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true diff --git a/deployment_scripts/puppet/manifests/ovs-install-compute.pp b/deployment_scripts/puppet/manifests/ovs-install-compute.pp index 27e96fb..d10a37c 100644 --- a/deployment_scripts/puppet/manifests/ovs-install-compute.pp +++ b/deployment_scripts/puppet/manifests/ovs-install-compute.pp @@ -11,7 +11,7 @@ $ovs_socket_mem = join(pick($dpdk['ovs_socket_mem'], []), ',') if $operatingsystem == 'Ubuntu' { exec { 'install ovs_nsh_dpdk': command => "curl http://${master_ip}:8080/plugins/fuel-plugin-ovs-0.9/deployment_scripts/install.sh | bash -s ${master_ip} ${install_nsh} ${install_dpdk} ${ovs_socket_mem}", - path => "/usr/bin:/usr/sbin:/bin:/sbin"; + path => "/usr/bin:/usr/sbin:/bin:/sbin", } } elsif $operatingsystem == 'CentOS' { } From 3d1de072cf2403d4470b5ba9aaa4bb19dbf6bacb Mon Sep 17 00:00:00 2001 From: Guo Ruijing Date: Sun, 9 Oct 2016 14:46:47 +0800 Subject: [PATCH 3/3] Compile DPDK to use basic cpu features. This should give a good balance between optimization while still supporting common hardware. See https://jira.opnfv.org/browse/FUEL-193 for details. Change-Id: Ide33d56ba1567544b61512d24e2ce5519f23d9b0 Signed-off-by: Billy O'Mahony --- ovs_build/dpdk_16.07/debian/rules | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ovs_build/dpdk_16.07/debian/rules b/ovs_build/dpdk_16.07/debian/rules index 3f5cf1c..7a5dce9 100755 --- a/ovs_build/dpdk_16.07/debian/rules +++ b/ovs_build/dpdk_16.07/debian/rules @@ -33,6 +33,8 @@ clean: build-config: dh_testdir $(MAKE) O=$(DPDK_STATIC_DIR) T=$(DPDK_CONFIG) config + sed -ri 's,(RTE_MACHINE=).*,\1default,' \ + $(DPDK_STATIC_DIR)/.config build-indep: build-config dh_testdir