From: Christos Sfakianakis <csfakian(a)redhat.com>
This patche set includes various parameter-handling cases that have
been missing from the new recipes (present in the old recipes).
Details follow.
========================================================================
edit perf pinnings in Recipes
This patch handles the pinning of the perf tool to a specific
CPU per the old recipes. No units are hadnled since '-J' for JSON
outputs seems to overwrite them
========================================================================
fix syntax errors and offloads
This patch fixes syntax error and offload settings in 3 of the ENRT
recipes.
========================================================================
handle/enable bidirectional perfs
This patch enables perf tests to be done from both sides.
The main reason for this is that this feature is used in 8
cases from phase 2:
- active_backup_team
- round_robin_team
- active_backup_double_team
- round_robin_double_team
- acive_backup_team_vs_active_backup_bond
- acive_backup_team_vs_round_robin_bond
- round_robin_team_vs_active_backup_bond
- round_robin_team_vs_round_robin_bond
A suitable parameter is added in BaseEnrtRecipe as well as
in TeamRecipe, TeamVsBondRecipe, DoubleTeamRecipe files.
In the old recipes, all perf tests from one side are completed before
client/server roles are inverted. In the current patch, that order is
not preserved (this should not affect the results).
========================================================================
handle adaptive coalescing
This patch* inlcudes modifications in the Device module and in some
ENRT recipes that hanlde adaptive coalescence.In the Device module,
methods are added to read, modify, or restore the coalescence settings
of a target device. The handling is different from the old recipes' in
that rx and tx parts are handled independently. In addition, 3 scenarios
are handled (skip/enable/disable) vs 2 in the old recipes (skip/disable)
.No verification checks are made, since it is expected that these will
be part of the future recipe-wide verification class.
========================================================================
use coalescence tuning
This patch makes use of the previous patch in ENRT recipes.
========================================================================
add qdisc tuning for multi-perf cases
This patch* handles traffic control settings for multi-perf scenarios.
No handling is added in the deconfiguration phase of the ENRT recipes,
since this is expected to be done via the already present code in the
Device module.
=======================================================================
add {udp,sctp}-specific checks
This patch* adds checks for UDP/SCTP and specific offloads per the old
recipes. The iptables commands for SCTP are executed multiple times
(once for every offload combination) in the current design, but this
should have no effect in functionality.
=======================================================================
* Due to the fact that the target devices are ethernet and we
currently cannot filter them out of 2 arbitrary perf configuration
endpoints, it was not possible to apply these changes in
BaseEnrtRecipe; the top-level recipes had to be used.
Christos Sfakianakis (7):
lnst.Recipes.ENRT: edit perf pinnings in Recipes
lnst.Recipes.ENRT: fix syntax errors and offloads
lnst.Recipes.ENRT: handle/enable bidirectional perfs
lnst.Devices.Device: handle adaptive coalescing
lnst.Recipes.ENRT: use coalescence tuning
lnst.Recipes.ENRT: add qdisc tuning for multi-perf cases
lnst.Recipes.ENRT.BaseEnrtRecipe: add {udp,sctp}-specific checks
lnst/Devices/Device.py | 77 +++++++++++++++++++
.../Perf/Measurements/BaseFlowMeasurement.py | 7 +-
.../Perf/Measurements/IperfFlowMeasurement.py | 14 ++++
lnst/Recipes/ENRT/BaseEnrtRecipe.py | 51 +++++++++++-
lnst/Recipes/ENRT/BondRecipe.py | 24 ++++--
lnst/Recipes/ENRT/DoubleBondRecipe.py | 29 +++++--
lnst/Recipes/ENRT/DoubleTeamRecipe.py | 32 ++++++--
lnst/Recipes/ENRT/SimplePerfRecipe.py | 25 ++++--
lnst/Recipes/ENRT/TeamRecipe.py | 27 +++++--
lnst/Recipes/ENRT/TeamVsBondRecipe.py | 32 ++++++--
.../VirtualBridgeVlanInGuestMirroredRecipe.py | 25 +++---
.../ENRT/VirtualBridgeVlanInGuestRecipe.py | 23 +++---
.../VirtualBridgeVlanInHostMirroredRecipe.py | 25 +++---
.../ENRT/VirtualBridgeVlanInHostRecipe.py | 23 +++---
.../ENRT/VirtualBridgeVlansOverBondRecipe.py | 25 ++++--
...rtualOvsBridgeVlanInGuestMirroredRecipe.py | 25 +++---
.../ENRT/VirtualOvsBridgeVlanInGuestRecipe.py | 23 +++---
...irtualOvsBridgeVlanInHostMirroredRecipe.py | 25 +++---
.../ENRT/VirtualOvsBridgeVlanInHostRecipe.py | 23 +++---
.../VirtualOvsBridgeVlansOverBondRecipe.py | 31 ++++----
lnst/Recipes/ENRT/VlansOverBondRecipe.py | 24 ++++--
lnst/Recipes/ENRT/VlansOverTeamRecipe.py | 24 ++++--
lnst/Recipes/ENRT/VlansRecipe.py | 25 ++++--
23 files changed, 471 insertions(+), 168 deletions(-)
--
2.17.1
Show replies by date