aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/CpuUtils.py
AgeCommit message (Collapse)AuthorFilesLines
2024-05-14feat(CpuUtils): Allow suites to forbid siblingsVratko Polak1-1/+5
Some perf suites use a single unidirectional flow of traffic. On SMT-enabled machines, 1C tests create 2 workers by default. But if there is only one stream/flow, only one worker does useful work. The other worker on the sibling logical core does busy-wait, which provably lowers the peformance. Some suites already set smt_used (as a suite variable) to False for these purposes. This change edits a lower-level L1 keyword to honor this value, and adds the suite variable to single stream (and client) hoststack suites, where the detrimental effect of busy siblings was observed. Change-Id: I203f1a700d8e6cd84640b9c0b40487cb832908aa Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2023-12-07fix(CpuUtils): correct robot variable namesVratko Polak1-4/+4
Fixes: 76fcd8422842d0756338502213de561eaa93e670 Change-Id: Ie642aeed5c55d479e0e4b87be965b4b5f70d6612 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2023-11-10feat(vpp_device): Main core allocation randomizationpmikus1-5/+8
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I0c261b08dc9b88b853922520598ddb29d222e86c
2023-10-09feat(trex): Multilinkpmikus1-5/+6
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I36c5d175a34555ad9ce88d69a824f366b54dbc81
2023-07-27feat(core): Core allocationpmikus1-75/+79
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I782b87190dbee6e0a12c97f616b80539cd6614bd
2023-05-24refactor(trex): Startup configurationpmikus1-7/+5
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I16defefa5edd01638bc382be4f5e8cbca4fe9453
2021-10-06docstring: Docstring warnings fixed.Viliam Luc1-1/+1
Change-Id: I8679c819b7c6ecd9e680bdc6edeafd2124def0b5 Signed-off-by: Viliam Luc <vluc@cisco.com>
2021-08-24Fix DPDK nb_cores allocationpmikus1-2/+2
+ Migrate the call to main python util Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I8d00165071d4764121740c1c77819b8ffc65b3ba
2021-06-17Core: Rework CPU allocationpmikus1-25/+96
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I6826add7b3032041632c3952c45a3c64409400b0
2021-06-04Performance: Add AF_XDP testspmikus1-0/+30
- enabling for fortville, columbiaville - enabling experimental for mlx Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I1b7ceb54769f4a0089ac7309350499e60c5cca0a
2021-05-20perf: add TCP Nginx+LDPRELOAD suitesxizhanx1-1/+23
1. Suite steup add download nginx 2. Add nginx-1.14.2/1.15.0 ldp test suite 3. Add NginxUtils,NginxConfigGenerator method 4. Taskset the PID of nginx to the unused cores in VPP and these cores are under NIC's NUMA ID 5. cleanup add Kill Processes - nohup Signed-off-by: xizhanx <xix.zhang@intel.com> Change-Id: Idbf0e4ec3bf63e88281a8e3e34f52e00a6801c85 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-02-19Add test suites for crypto sw scheduler engineYulong Pei1-0/+23
This patch is to add test suites for vpp plugin crypto_sw_scheduler, IPsec sync mode is to do crypto and packet forward work in same worker cores, crypto_sw_scheduler can schedule crypto work to other async crypto cores to improve whole crypto processing capability. This test suites configure fixed 1 rx queues per port, then measure IPsec performance with 1, 2, 3 crypto cores. This patchset include 1, 2, 4, 8 ipsec tunnels test cases. +Vratko help to change to count total physical cores instead of previous only count crypto cores in test cases. Change-Id: I0e67182e3d13273890a23703d838101900e25126 Signed-off-by: Yulong Pei <yulong.pei@intel.com> Signed-off-by: Vratko Polak <vrpolak@cisco.com> Signed-off-by: pmikus <pmikus@cisco.com>
2021-02-19Framework: GSO testpmikus1-1/+1
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I874568aebbe50c38e634438eb1201ca737bd18ad
2021-01-04GSO: TAP/VHOST use casepmikus1-1/+55
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Ibafaaca4438587284d1e255c764f0701002941e8
2020-01-31T-Rex: CPU pinningPeter Mikus1-8/+39
+ Detect NUMA + Pin based on numa location Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ife350f8c70e5437ac7c1413c7753f2a2f62777d9
2019-11-28Python3: resources and librariesJan Gelety1-71/+68
Change-Id: I1392c06b1d64f62b141d24c0d42a8e36913b15e2 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-08-21Framework: simplify CpuUtilsMiroslav Los1-34/+26
Signed-off-by: Miroslav Los <miroslav.los@pantheon.tech> Change-Id: I7682d802f405070e34f72bc4a80cbe6a63b03619
2019-07-17Refactor VPP Device VM vhost testsjuraj.linkes1-4/+9
* replace the current VM image with kernel img * rework keyword usage to make it consistent with performance tests * remove resources/libraries/robot/shared/qemu.robot as it's not used anywhere anymore Change-Id: Ia5bc19e9e6ed9af031e4d9b5c0c89431fb49fd33 Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
2019-04-26NF density tests with dtc=0.5 and dtcr=2Peter Mikus1-50/+119
Change-Id: Icff556142280ad0b6261e0a2bfb71672ee6b3807 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-01-28FIX: CPU util for NFPeter Mikus1-2/+5
- Fix detecting total allocable CPUs for NFs Change-Id: If3345518befb887655d3e162551c49df3163ed92 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-01-08CSIT-1387 Implement mapping functionPeter Mikus1-5/+54
Implement universal mapping function for placing the NF threads to cpu cores/threads. - Must be SMT aware. - Must work with N-core NF. - Must be DUT (vswtich) aware. - Must be deterministic. - Must use DTCR and MTCR parameters. Change-Id: I98b61861f85c5af7ecd856719b4adf2ba95c262f Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-09-05Fix various pylint violationsVratko Polak1-1/+1
+ SchedUtils.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + VatHistory.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + VppCounters.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + Memif.py: ++ Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Either all return statements in a function should return an expression, or none of them should. ++ Update :return: on possible None. + Classify.py: Unnecessary "else" after "return" + ContainerUtils.py: Useless super delegation in method '__init__' + CpuUtils.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + DropRateSearch.py: Either all return statements in a function should return an expression, or none of them should. + IPv4NodeAddress.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also improve docstrings. + IPv4Setup.py: Useless super delegation in method '__init__' + IPv6Setup.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also improve docstrings. + IPv6Setup.py: standard import "from ipaddress import IPv6Network" should be placed before "from robot.api import logger" + MacSwap.py: Trailing newlines + NATUtil.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + NodePath.py: Unnecessary "else" after "return" + Tap.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + topology.py: Either all return statements in a function should return an expression, or none of them should. + topology.py: Unnecessary "else" after "return" ++ Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Improve docstrings + DUTSetup.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also do not compare int(ret_code) just to access zero-ness. + ssh.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + InterfaceUtil.py: Unnecessary "else" after "return" Change-Id: Iba4244aa79661ee7df15fed5c7c6dbf04dfa88b2 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2018-04-25Fix warnings reported by gen_doc.shVratko Polak1-3/+3
+ Docstring warnings fixed. + Multiline param descriptions indented by 4 spaces. - Except the PacketVerifier.py one - I have tried several quote-like blocks, nothing works. - Rst warnings not fixed. - How can I fix them? They refer to temporarily created files. + Other improvements: + Python lines no longer than 80 characters. + :return: -> :returns: + Notes before params. + :raises + closing colon after exception class. + Description is a sentence. + Present tense in conditional sentences. + Bumped copyright year in edited files. Change-Id: I462c194eeecb666dc146e26858486a07c990be9b Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2017-02-27CSIT-339: Add Keywords for SMTTibor Frank1-37/+118
- modify keywords in CpuUtils.py - add RF keywords Change-Id: I57230b3948254e8f149b2563a8e24e948bc2ec27 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2017-02-10CSIT-518: Add testpmd numa awarenessTibor Frank1-6/+40
Change-Id: I982834de1fbe71cf5303808ea58d4b58e530ffcb Signed-off-by: Tibor Frank <tifrank@cisco.com>
2016-08-10CSIT-321 L2 Cross-connect - baseline - NIC-to-NIC(XL710)Miroslav Miklus1-0/+33
Change-Id: I0c78d17242eedbfa573f1e2c20dc491a71b8dd4a Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
2016-08-06CSIT-338 CpuUtils - CPU layoutMiroslav Miklus1-0/+100
Extends node from topology file with "cpuinfo", this information can be defined in the topology file, or can be retrieved from the node. Change-Id: I913dba93daab3b41b36f3ab07f5c03ad46c659dd Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>