There is a TODO comment in NeperFlowMeasurement.py around line 99 that
documents the parallel streams issue. Is this good enough?
On Wed, 2021-02-24 at 14:37 +0100, Jan Tluka wrote:
Tue, Feb 23, 2021 at 09:17:25AM CET, jtluka(a)redhat.com wrote:
> Mon, Feb 22, 2021 at 10:02:08PM CET, pgagne(a)redhat.com wrote:
> > From: Perry Gagne <pgagne(a)redhat.com>
> >
> > When ShortLivedConnectionsRecipe was originally ported to LNST
> > next it was trying to use iPerf
> > However, iperf does not support Request/Response (RR) style
> > tests.
> >
> > The lnst-legacy version used netperf, which did support RR tests,
> > but we wanted to use a different tool
> > that was easier to wrap.
> >
> > This patch creates a new super class LatencyEnrtRecipe that uses
> > the
> > Neper (
https://github.com/google/neper) support from earlier
> > patches.
> >
> > ShortLivedConnectionsRecipe is a implementation of this class.
> >
> > Signed-off-by: Perry Gagne <pgagne(a)redhat.com>
> > ---
> > lnst/Recipes/ENRT/LatencyEnrtRecipe.py | 47
> > +++++++++++++++++++
> > .../ENRT/ShortLivedConnectionsRecipe.py | 8 ++--
> > 2 files changed, 51 insertions(+), 4 deletions(-)
> > create mode 100644 lnst/Recipes/ENRT/LatencyEnrtRecipe.py
> >
> > diff --git a/lnst/Recipes/ENRT/LatencyEnrtRecipe.py
> > b/lnst/Recipes/ENRT/LatencyEnrtRecipe.py
> > new file mode 100644
> > index 0000000..765ab29
> > --- /dev/null
> > +++ b/lnst/Recipes/ENRT/LatencyEnrtRecipe.py
> > @@ -0,0 +1,47 @@
> > +from lnst.Recipes.ENRT.BaseEnrtRecipe import BaseEnrtRecipe
> > +from lnst.Recipes.ENRT.PerfTestMixins import
> > CommonPerfTestTweakMixin
> > +from lnst.Recipes.ENRT.ConfigMixins.DisableTurboboostMixin
> > import (
> > + DisableTurboboostMixin,
> > +)
> > +from lnst.Recipes.ENRT.ConfigMixins.DisableIdleStatesMixin
> > import (
> > + DisableIdleStatesMixin,
> > +)
> > +
> > +from
> > lnst.Recipes.ENRT.MeasurementGenerators.NeperMeasurementGenerator
> > import (
> > + NeperMeasurementGenerator,
> > +)
> > +from
> > lnst.Recipes.ENRT.MeasurementGenerators.FlowEndpointsStatCPUMeasu
> > rementGenerator import (
> > + FlowEndpointsStatCPUMeasurementGenerator,
> > +)
> > +
> > +class LatencyEnrtRecipe(
> > + CommonPerfTestTweakMixin,
> > + DisableTurboboostMixin,
> > + DisableIdleStatesMixin,
> > + FlowEndpointsStatCPUMeasurementGenerator,
> > + NeperMeasurementGenerator,
> > + BaseEnrtRecipe,
> > +):
> > + @property
> > + def disable_idlestates_host_list(self):
> > + """
> > + The `disable_idlestates_host_list` property value is the
> > list of all
> > + matched baremetal hosts for the recipe.
> > +
> > + For detailed explanation of this property see
> > + :any:`DisableIdleStatesMixin` and
> > +
> > :any:`DisableIdleStatesMixin.disable_idlestates_host_list`.
> > + """
> > + return self.matched
> > +
> > + @property
> > + def disable_turboboost_host_list(self):
> > + """
> > + The `disable_turboboost_host_list` property value is the
> > list of all
> > + matched baremetal hosts for the recipe.
> > +
> > + For detailed explanation of this property see
> > + :any:`DisableTurboboostMixin` and
> > +
> > :any:`DisableTurboboostMixin.disable_turboboost_host_list`.
> > + """
> > + return self.matched
> > diff --git a/lnst/Recipes/ENRT/ShortLivedConnectionsRecipe.py
> > b/lnst/Recipes/ENRT/ShortLivedConnectionsRecipe.py
> > index 5323672..8cada01 100644
> > --- a/lnst/Recipes/ENRT/ShortLivedConnectionsRecipe.py
> > +++ b/lnst/Recipes/ENRT/ShortLivedConnectionsRecipe.py
> > @@ -1,20 +1,20 @@
> > from lnst.Common.IpAddress import ipaddress
> > from lnst.Controller import HostReq, DeviceReq, RecipeParam
> > -from lnst.Recipes.ENRT.BaremetalEnrtRecipe import
> > BaremetalEnrtRecipe
> > +from lnst.Recipes.ENRT.LatencyEnrtRecipe import
> > LatencyEnrtRecipe
> > from lnst.Common.Parameters import Param, IntParam, ListParam
> > from lnst.Recipes.ENRT.ConfigMixins.CommonHWSubConfigMixin import
> > (
> > CommonHWSubConfigMixin)
> >
> > -class ShortLivedConnectionsRecipe(CommonHWSubConfigMixin,
> > BaremetalEnrtRecipe):
> > +class ShortLivedConnectionsRecipe(CommonHWSubConfigMixin,
> > LatencyEnrtRecipe):
> > host1 = HostReq()
> > host1.eth0 = DeviceReq(label="to_switch",
> > driver=RecipeParam("driver"))
> >
> > host2 = HostReq()
> > host2.eth0 = DeviceReq(label="to_switch",
> > driver=RecipeParam("driver"))
> >
> > - perf_tests = Param(default=("TCP_RR", "TCP_CRR"))
> > + perf_tests = Param(default=("tcp_rr", "tcp_crr",
"udp_rr"))
> > ip_versions = Param(default=("ipv4",))
> > - perf_parallel_streams = IntParam(default=2)
> > + #perf_parallel_streams = IntParam(default=2)
>
> If this is a temporary removal due to issues with parallelism of
> neper,
> please add a TODO or some comment in the code that helps with
> understanding
> this change.
>
I'm pretty sure this should be documented. Either directly in the
code
or in the patch description.
> > perf_msg_sizes = ListParam(default=[1000, 5000, 7000, 10000,
> > 12000])
> >
> > def test_wide_configuration(self):
> > --
> > 2.26.2
> > _______________________________________________
> > LNST-developers mailing list --
> > lnst-developers(a)lists.fedorahosted.org
> > To unsubscribe send an email to
> > lnst-developers-leave(a)lists.fedorahosted.org
> > Fedora Code of Conduct:
> >
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> > List Guidelines:
> >
https://fedoraproject.org/wiki/Mailing_list_guidelines
> > List Archives:
> >
https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedora...
> > Do not reply to spam on the list, report it:
> >
https://pagure.io/fedora-infrastructure
> _______________________________________________
> LNST-developers mailing list --
> lnst-developers(a)lists.fedorahosted.org
> To unsubscribe send an email to
> lnst-developers-leave(a)lists.fedorahosted.org
> Fedora Code of Conduct:
>
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines:
>
https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
>
https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedora...
> Do not reply to spam on the list, report it:
>
https://pagure.io/fedora-infrastructure