diff options
author | Dave Wallace <dwallacelf@gmail.com> | 2020-01-21 19:02:14 +0000 |
---|---|---|
committer | Vratko Polak <vrpolak@cisco.com> | 2020-01-28 14:35:46 +0000 |
commit | b340b5c9925b43869b91197850504760757a0bfe (patch) | |
tree | f95b3f6c94b1385443458252e52b711099414da3 /resources/libraries/python/HoststackUtil.py | |
parent | 0c6d1142326b6953b972733c4fa3bddf078ec802 (diff) |
perf: hoststack iperf3 test tuning
Change-Id: I53425f57fe9ecef9cff2c94642cc7cb24537a961
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'resources/libraries/python/HoststackUtil.py')
-rw-r--r-- | resources/libraries/python/HoststackUtil.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/resources/libraries/python/HoststackUtil.py b/resources/libraries/python/HoststackUtil.py index ad95d5114d..670a81b19b 100644 --- a/resources/libraries/python/HoststackUtil.py +++ b/resources/libraries/python/HoststackUtil.py @@ -94,9 +94,9 @@ class HoststackUtil(): if u"parallel" in iperf3_attributes: iperf3_cmd[u"args"] += \ f" --parallel {iperf3_attributes[u'parallel']}" - if u"bytes" in iperf3_attributes: + if u"time" in iperf3_attributes: iperf3_cmd[u"args"] += \ - f" --bytes {iperf3_attributes[u'bytes']}" + f" --time {iperf3_attributes[u'time']}" return iperf3_cmd @staticmethod @@ -162,20 +162,22 @@ class HoststackUtil(): return stdout_log, stderr_log @staticmethod - def start_hoststack_test_program(node, namespace, program): + def start_hoststack_test_program(node, namespace, core_list, program): """Start the specified HostStack test program. :param node: DUT node. :param namespace: Net Namespace to run program in. + :param core_list: List of cpu's to pass to taskset to pin the test + program to a different set of cores on the same numa node as VPP. :param program: Test program. :type node: dict :type namespace: str + :type core_list: str :type program: dict :returns: Process ID :rtype: int :raises RuntimeError: If node subtype is not a DUT or startup failed. """ - # TODO: Pin test program to core(s) on same numa node as VPP. if node[u"type"] != u"DUT": raise RuntimeError(u"Node type is not a DUT!") @@ -189,8 +191,8 @@ class HoststackUtil(): env_vars = f"{program[u'env_vars']} " if u"env_vars" in program else u"" args = program[u"args"] - cmd = f"nohup {shell_cmd} \'{env_vars}{program_name} {args} " \ - f">/tmp/{program_name}_stdout.log " \ + cmd = f"nohup {shell_cmd} \'{env_vars}taskset --cpu-list {core_list} " \ + f"{program_name} {args} >/tmp/{program_name}_stdout.log " \ f"2>/tmp/{program_name}_stderr.log &\'" try: exec_cmd_no_error(node, cmd, sudo=True) |