From: Ondrej Lichtner <olichtne(a)redhat.com>
For the guest to properly use hugepages it is necessary to configure
memory backing using them.
It's also important to ensure that the host machine has enough hugepages
to cover all the ram of the guest. In our setup we use a guest with 16G
ram so we need to increase the number of 2M pages to at least 8000. I'm
setting it to 13000 just to be sure.
Signed-off-by: Ondrej Lichtner <olichtne(a)redhat.com>
---
recipes/regression_tests/phase3/ovs-dpdk-pvp.py | 4 ++++
recipes/regression_tests/phase3/ovs-dpdk-pvp.xml | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/recipes/regression_tests/phase3/ovs-dpdk-pvp.py
b/recipes/regression_tests/phase3/ovs-dpdk-pvp.py
index 1586dc2..2bc3dff 100644
--- a/recipes/regression_tests/phase3/ovs-dpdk-pvp.py
+++ b/recipes/regression_tests/phase3/ovs-dpdk-pvp.py
@@ -275,6 +275,10 @@ cpu = guest_xml.find("cpu")
numa = ET.SubElement(cpu, 'numa')
ET.SubElement(numa, 'cell', id='0', cpus='0',
memory=guest_mem_amount, unit='KiB', memAccess='shared')
+memoryBacking = ET.SubElement(guest_xml, "memoryBacking")
+hugepages = ET.SubElement(memoryBacking, "hugepages")
+ET.SubElement(hugepages, "page", size="2", unit="M",
nodeset="0")
+
cputune = ET.SubElement(guest_xml, "cputune")
for i, cpu_id in enumerate(guest_cpus.split(',')):
ET.SubElement(cputune, "vcpupin", vcpu=str(i), cpuset=str(cpu_id))
diff --git a/recipes/regression_tests/phase3/ovs-dpdk-pvp.xml
b/recipes/regression_tests/phase3/ovs-dpdk-pvp.xml
index 3c2326a..8f4af69 100644
--- a/recipes/regression_tests/phase3/ovs-dpdk-pvp.xml
+++ b/recipes/regression_tests/phase3/ovs-dpdk-pvp.xml
@@ -7,7 +7,7 @@
<alias name="host2_dpdk_cores" value="0x1E" />
<alias name="guest_testpmd_cores" value="0x7" />
<alias name="guest_dpdk_cores" value="0x6" />
- <alias name="nr_hugepages" value="2048" />
+ <alias name="nr_hugepages" value="13000" />
<alias name="socket_mem" value="2048" />
<alias name="trex_dir" value="" />
<alias name="guest_mem_amount" value="16777216" />
--
2.19.0