aboutsummaryrefslogtreecommitdiffstats
path: root/GPL/tools/trex
diff options
context:
space:
mode:
authorpmikus <pmikus@cisco.com>2020-08-06 08:45:49 +0000
committerVratko Polak <vrpolak@cisco.com>2020-08-24 12:46:16 +0200
commite08706e85b412b1307df3789fdbe747b43c2bd95 (patch)
tree8c31fe63d0ae64da56a27f9ce97c2a50b629372c /GPL/tools/trex
parent273d2ea03c4fa35ea5b656872f06f6e6d2e6f851 (diff)
T-Rex: 2.82, core pin, 8 workers
+ Bump T-Rex version. We need new features for ASTF test. + Apply core pining. Results in a more stable performance. + Tweak the number of T-Rex workers. + We need an even value to achieve ymmetric performance with pinning. + Value 8 was selected as a best compromise. This is a combination of 3 commits. This is the 1st commit message: T-Rex: 2.82 This is the commit message #2: Change Trex to CORE_MASK_PIN mode to improve performance https://trex-tgn.cisco.com/trex/doc/trex_stateless.html#_core_masking_per_interface Above link have below explaination, "When the profile is symmetric, performance can be improved by pinning half of the cores to port 0, and half of the cores to port 1, thus avoiding cache trashing and bouncing." The reason to change this is that to run CSIT with 100G NIC often failed with "TRex stateless runtime error timeout", it caused by Trex can not send enough traffic within the fixed duration. by change to CORE_MASK_PIN mode fix the issue. Not editing ASTF, as that supports different options. This is the commit message #3: Experiment: Vary number of TRex workers With CORE_MASK_PIN, we can get more predictable time distribution. Decided to use 8 workers, that gives good results both for high end (RDMA-core l2patch) and low end (vhost) tests. Change-Id: I5c61127799e0624464e960fcb980ad1c4058e744 Signed-off-by: pmikus <pmikus@cisco.com> Signed-off-by: Yulong Pei <yulong.pei@intel.com> Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Diffstat (limited to 'GPL/tools/trex')
-rw-r--r--GPL/tools/trex/trex_astf_assert.py2
-rw-r--r--GPL/tools/trex/trex_astf_profile.py2
-rw-r--r--GPL/tools/trex/trex_astf_stop.py2
-rw-r--r--GPL/tools/trex/trex_stl_assert.py2
-rw-r--r--GPL/tools/trex/trex_stl_profile.py10
-rw-r--r--GPL/tools/trex/trex_stl_stop.py2
6 files changed, 12 insertions, 8 deletions
diff --git a/GPL/tools/trex/trex_astf_assert.py b/GPL/tools/trex/trex_astf_assert.py
index 0e148f0435..d6d74bcff8 100644
--- a/GPL/tools/trex/trex_astf_assert.py
+++ b/GPL/tools/trex/trex_astf_assert.py
@@ -28,7 +28,7 @@ Functionality:
import sys
sys.path.insert(
- 0, u"/opt/trex-core-2.73/scripts/automation/trex_control_plane/interactive/"
+ 0, u"/opt/trex-core-2.82/scripts/automation/trex_control_plane/interactive/"
)
from trex.astf.api import *
diff --git a/GPL/tools/trex/trex_astf_profile.py b/GPL/tools/trex/trex_astf_profile.py
index 2bdb8d3db4..0542486105 100644
--- a/GPL/tools/trex/trex_astf_profile.py
+++ b/GPL/tools/trex/trex_astf_profile.py
@@ -24,7 +24,7 @@ import sys
import time
sys.path.insert(
- 0, u"/opt/trex-core-2.73/scripts/automation/trex_control_plane/interactive/"
+ 0, u"/opt/trex-core-2.82/scripts/automation/trex_control_plane/interactive/"
)
from trex.astf.api import *
diff --git a/GPL/tools/trex/trex_astf_stop.py b/GPL/tools/trex/trex_astf_stop.py
index c216e531ab..655bdf1a97 100644
--- a/GPL/tools/trex/trex_astf_stop.py
+++ b/GPL/tools/trex/trex_astf_stop.py
@@ -34,7 +34,7 @@ import sys
from collections import OrderedDict # Needed to parse xstats representation.
sys.path.insert(
- 0, u"/opt/trex-core-2.73/scripts/automation/trex_control_plane/interactive/"
+ 0, u"/opt/trex-core-2.82/scripts/automation/trex_control_plane/interactive/"
)
from trex.astf.api import *
diff --git a/GPL/tools/trex/trex_stl_assert.py b/GPL/tools/trex/trex_stl_assert.py
index 835d009b26..7c7e9215b8 100644
--- a/GPL/tools/trex/trex_stl_assert.py
+++ b/GPL/tools/trex/trex_stl_assert.py
@@ -28,7 +28,7 @@ Functionality:
import sys
sys.path.insert(
- 0, u"/opt/trex-core-2.73/scripts/automation/trex_control_plane/interactive/"
+ 0, u"/opt/trex-core-2.82/scripts/automation/trex_control_plane/interactive/"
)
from trex.stl.api import *
diff --git a/GPL/tools/trex/trex_stl_profile.py b/GPL/tools/trex/trex_stl_profile.py
index 64b8342e57..ac09b8dda1 100644
--- a/GPL/tools/trex/trex_stl_profile.py
+++ b/GPL/tools/trex/trex_stl_profile.py
@@ -24,7 +24,7 @@ import sys
import time
sys.path.insert(
- 0, u"/opt/trex-core-2.73/scripts/automation/trex_control_plane/interactive/"
+ 0, u"/opt/trex-core-2.82/scripts/automation/trex_control_plane/interactive/"
)
from trex.stl.api import *
@@ -169,7 +169,8 @@ def simple_burst(
# Choose rate and start traffic:
client.start(
- ports=ports, mult=rate, duration=warmup_time, force=force
+ ports=ports, mult=rate, duration=warmup_time, force=force,
+ core_mask=STLClient.CORE_MASK_PIN
)
# Block until done:
@@ -202,7 +203,10 @@ def simple_burst(
lost_b = 0
# Choose rate and start traffic:
- client.start(ports=ports, mult=rate, duration=duration, force=force)
+ client.start(
+ ports=ports, mult=rate, duration=duration, force=force,
+ core_mask=STLClient.CORE_MASK_PIN
+ )
if async_start:
# For async stop, we need to export the current snapshot.
diff --git a/GPL/tools/trex/trex_stl_stop.py b/GPL/tools/trex/trex_stl_stop.py
index 28a9de9421..dcdae7c10a 100644
--- a/GPL/tools/trex/trex_stl_stop.py
+++ b/GPL/tools/trex/trex_stl_stop.py
@@ -34,7 +34,7 @@ import sys
from collections import OrderedDict # Needed to parse xstats representation.
sys.path.insert(
- 0, u"/opt/trex-core-2.73/scripts/automation/trex_control_plane/interactive/"
+ 0, u"/opt/trex-core-2.82/scripts/automation/trex_control_plane/interactive/"
)
from trex.stl.api import *