aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2016-11-21 08:33:33 +0000
committerPeter Mikus <pmikus@cisco.com>2016-11-21 08:35:50 +0000
commit272b02a7e3faf6ee9c677942ca67a2d600673c29 (patch)
treeb6572971886edda6004fc7fb3bcbd8163fa5f545
parent3e62e29b594f36e80f397a02bc4eaa88ff71ab0d (diff)
Add performance optimization to Nested VM
- Add isolcpu to grub - Add SMP affinity pinning into testpmd startup script Change-Id: I027635f9c27f565e2be10656663463a1b7274afc Signed-off-by: pmikus <pmikus@cisco.com>
-rwxr-xr-xresources/tools/disk-image-builder/nested/image-patches/06-dpdk-support5
-rw-r--r--resources/tools/disk-image-builder/nested/image-patches/07-isolate-cpu8
2 files changed, 13 insertions, 0 deletions
diff --git a/resources/tools/disk-image-builder/nested/image-patches/06-dpdk-support b/resources/tools/disk-image-builder/nested/image-patches/06-dpdk-support
index 99ac0e14e3..fb166ef2cf 100755
--- a/resources/tools/disk-image-builder/nested/image-patches/06-dpdk-support
+++ b/resources/tools/disk-image-builder/nested/image-patches/06-dpdk-support
@@ -50,6 +50,11 @@ do
echo $dev > /sys/bus/pci/drivers/${TARGET_DRIVER}/bind
done
+for i in $(ls /proc/irq/ | grep [0-9])
+do
+ echo 1 > /proc/irq/$i/smp_affinity
+done
+
# Start testpmd in the background. This looks a bit convoluted; we need to redirect stdin
# (and keep stdin active) or else testpmd will quit.
tail -f /dev/null | nohup testpmd $@ > ${TESTPMD_LOG} 2>&1 &
diff --git a/resources/tools/disk-image-builder/nested/image-patches/07-isolate-cpu b/resources/tools/disk-image-builder/nested/image-patches/07-isolate-cpu
new file mode 100644
index 0000000000..72d94160be
--- /dev/null
+++ b/resources/tools/disk-image-builder/nested/image-patches/07-isolate-cpu
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+patch boot/grub/menu.lst <<"_EOF"
+15c17
+< kernel /boot/bzImage rw root=/dev/sda1 console=ttyS0,115200n8
+---
+> kernel /boot/bzImage rw root=/dev/sda1 console=ttyS0,115200n8 isolcpus=1-7 nohz_full=1-7 rcu_nocbs=1-7
+_EOF \ No newline at end of file