From 636c8c711b5f44cd0ef7c4a04a4b3bc0aad6566d Mon Sep 17 00:00:00 2001 From: pmikus Date: Fri, 18 Sep 2020 09:46:31 +0000 Subject: Framework: Heapsize configuration - https://gerrit.fd.io/r/c/vpp/+/28829 - https://gerrit.fd.io/r/c/vpp/+/28896 - ip6 to be added later Signed-off-by: pmikus Change-Id: I7b03b8ace5c5c7582d4a2f66bfd788a3ec80a916 --- VPP_STABLE_VER_CENTOS | 2 +- VPP_STABLE_VER_UBUNTU_BIONIC | 2 +- resources/libraries/python/ContainerUtils.py | 9 ++++--- resources/libraries/python/DUTSetup.py | 2 +- resources/libraries/python/QemuUtils.py | 12 ++++----- resources/libraries/python/VppConfigGenerator.py | 31 +++++++++++++++--------- resources/libraries/robot/shared/default.robot | 7 +++--- 7 files changed, 38 insertions(+), 27 deletions(-) diff --git a/VPP_STABLE_VER_CENTOS b/VPP_STABLE_VER_CENTOS index e22207f548..25a593eca2 100644 --- a/VPP_STABLE_VER_CENTOS +++ b/VPP_STABLE_VER_CENTOS @@ -1 +1 @@ -21.01-rc0~68_g5cc11b1~b9959 +21.01-rc0~75_g8157a16~b9966 \ No newline at end of file diff --git a/VPP_STABLE_VER_UBUNTU_BIONIC b/VPP_STABLE_VER_UBUNTU_BIONIC index e9fd91c96c..6855870987 100644 --- a/VPP_STABLE_VER_UBUNTU_BIONIC +++ b/VPP_STABLE_VER_UBUNTU_BIONIC @@ -1 +1 @@ -21.01-rc0~68-g5cc11b121 +21.01-rc0~75-g8157a161c \ No newline at end of file diff --git a/resources/libraries/python/ContainerUtils.py b/resources/libraries/python/ContainerUtils.py index 77e139f80f..3e4109c907 100644 --- a/resources/libraries/python/ContainerUtils.py +++ b/resources/libraries/python/ContainerUtils.py @@ -617,7 +617,6 @@ class ContainerEngine: vpp_config.add_unix_nodaemon() vpp_config.add_unix_exec(u"/tmp/running.exec") vpp_config.add_socksvr(socket=Constants.SOCKSVR_PATH) - vpp_config.add_statseg_per_node_counters(value=u"on") if cpuset_cpus: # We will pop the first core from the list to be a main core vpp_config.add_cpu_main_core(str(cpuset_cpus.pop(0))) @@ -627,9 +626,11 @@ class ContainerEngine: vpp_config.add_buffers_per_numa(215040) vpp_config.add_plugin(u"disable", u"default") vpp_config.add_plugin(u"enable", u"memif_plugin.so") - vpp_config.add_heapsize(u"4G") - vpp_config.add_ip_heap_size(u"4G") - vpp_config.add_statseg_size(u"4G") + vpp_config.add_main_heap_size(u"2G") + vpp_config.add_main_heap_page_size(u"2M") + vpp_config.add_statseg_size(u"2G") + vpp_config.add_statseg_page_size(u"2M") + vpp_config.add_statseg_per_node_counters(u"on") return vpp_config diff --git a/resources/libraries/python/DUTSetup.py b/resources/libraries/python/DUTSetup.py index ec0a796202..28b36266cf 100644 --- a/resources/libraries/python/DUTSetup.py +++ b/resources/libraries/python/DUTSetup.py @@ -33,7 +33,7 @@ class DUTSetup: :type node: dict :type service: str """ - command = u"echo $(< /tmp/*supervisor*.log)"\ + command = u"cat /tmp/*supervisor*.log"\ if DUTSetup.running_in_container(node) \ else f"journalctl --no-pager _SYSTEMD_INVOCATION_ID=$(systemctl " \ f"show -p InvocationID --value {service})" diff --git a/resources/libraries/python/QemuUtils.py b/resources/libraries/python/QemuUtils.py index b29e19c035..7491c71021 100644 --- a/resources/libraries/python/QemuUtils.py +++ b/resources/libraries/python/QemuUtils.py @@ -213,7 +213,7 @@ class QemuUtils: self._params.add_with_value( u"append", f"'ro rootfstype=9p rootflags=trans=virtio " f"root=virtioroot console={self._opt.get(u'console')} " - f"tsc=reliable hugepages=256 " + f"tsc=reliable hugepages=512 " f"init={self._temp.get(u'ini')} fastboot'" ) @@ -297,11 +297,12 @@ class QemuUtils: vpp_config.add_unix_cli_listen() vpp_config.add_unix_exec(running) vpp_config.add_socksvr() - vpp_config.add_statseg_per_node_counters(value=u"on") + vpp_config.add_main_heap_size(u"512M") + vpp_config.add_main_heap_page_size(u"2M") + vpp_config.add_statseg_size(u"512M") + vpp_config.add_statseg_page_size(u"2M") + vpp_config.add_statseg_per_node_counters(u"on") vpp_config.add_buffers_per_numa(107520) - vpp_config.add_heapsize(u"1G") - vpp_config.add_ip_heap_size(u"1G") - vpp_config.add_statseg_size(u"1G") vpp_config.add_cpu_main_core(u"0") if self._opt.get(u"smp") > 1: vpp_config.add_cpu_corelist_workers(f"1-{self._opt.get(u'smp')-1}") @@ -323,7 +324,6 @@ class QemuUtils: vpp_config.add_plugin(u"enable", u"crypto_openssl_plugin.so") if "nat" in self._opt.get(u'vnf'): vpp_config.add_nat(value=u"endpoint-dependent") - #vpp_config.add_nat_max_translations_per_thread(value=655360) vpp_config.add_plugin(u"enable", u"nat_plugin.so") vpp_config.write_config(startup) diff --git a/resources/libraries/python/VppConfigGenerator.py b/resources/libraries/python/VppConfigGenerator.py index 68a4e22e6b..fa8290d974 100644 --- a/resources/libraries/python/VppConfigGenerator.py +++ b/resources/libraries/python/VppConfigGenerator.py @@ -419,13 +419,22 @@ class VppConfigGenerator: path = [u"cpu", u"corelist-workers"] self.add_config_item(self._nodeconfig, value, path) - def add_heapsize(self, value): - """Add Heapsize configuration. + def add_main_heap_size(self, value): + """Add Main Heap Size configuration. - :param value: Amount of heapsize. + :param value: Amount of heap. :type value: str """ - path = [u"heapsize"] + path = [u"memory", u"main-heap-size"] + self.add_config_item(self._nodeconfig, value, path) + + def add_main_heap_page_size(self, value): + """Add Main Heap Page Size configuration. + + :param value: Heap page size. + :type value: str + """ + path = [u"memory", u"main-heap-page-size"] self.add_config_item(self._nodeconfig, value, path) def add_api_trace(self): @@ -451,22 +460,22 @@ class VppConfigGenerator: path = [u"ip6", u"heap-size"] self.add_config_item(self._nodeconfig, value, path) - def add_ip_heap_size(self, value): - """Add IP heap-size configuration. + def add_statseg_size(self, value): + """Add Stats Heap Size configuration. - :param value: IP Heapsize amount. + :param value: Stats heapsize amount. :type value: str """ - path = [u"ip", u"heap-size"] + path = [u"statseg", u"size"] self.add_config_item(self._nodeconfig, value, path) - def add_statseg_size(self, value): - """Add stats segment heap size configuration. + def add_statseg_page_size(self, value): + """Add Stats Heap Page Size configuration. :param value: Stats heapsize amount. :type value: str """ - path = [u"statseg", u"size"] + path = [u"statseg", u"page-size"] self.add_config_item(self._nodeconfig, value, path) def add_statseg_per_node_counters(self, value): diff --git a/resources/libraries/robot/shared/default.robot b/resources/libraries/robot/shared/default.robot index cf6b599a29..c9d924edc1 100644 --- a/resources/libraries/robot/shared/default.robot +++ b/resources/libraries/robot/shared/default.robot @@ -151,14 +151,15 @@ | | | Run Keyword | ${dut}.Add Unix Nodaemon | | | Run Keyword | ${dut}.Add Unix Coredump | | | Run Keyword | ${dut}.Add Socksvr | ${SOCKSVR_PATH} -| | | Run Keyword | ${dut}.Add Heapsize | 4G -| | | Run Keyword | ${dut}.Add Statseg size | 4G +| | | Run Keyword | ${dut}.Add Main Heap Size | 2G +| | | Run Keyword | ${dut}.Add Main Heap Page Size | 2M +| | | Run Keyword | ${dut}.Add Statseg Size | 2G +| | | Run Keyword | ${dut}.Add Statseg Page Size | 2M | | | Run Keyword | ${dut}.Add Statseg Per Node Counters | on | | | Run Keyword | ${dut}.Add Plugin | disable | default | | | Run Keyword | ${dut}.Add Plugin | enable | @{plugins_to_enable} | | | Run Keyword | ${dut}.Add IP6 Hash Buckets | 2000000 | | | Run Keyword | ${dut}.Add IP6 Heap Size | 4G -| | | Run Keyword | ${dut}.Add IP Heap Size | 4G | | | Run Keyword | ${dut}.Add Graph Node Variant | ${GRAPH_NODE_VARIANT} | | END -- cgit 1.2.3-korg