test suite reviews and discussions
 help / color / mirror / Atom feed
* RE: rte_service unit test failing randomly
       [not found]         ` <CAJFAV8yNC+NtBOLENuduxLTTZESef71hRdrhgNHoMJ1qdXZ+cA@mail.gmail.com>
@ 2022-10-06  7:50           ` Morten Brørup
  0 siblings, 0 replies; 3+ messages in thread
From: Morten Brørup @ 2022-10-06  7:50 UTC (permalink / raw)
  To: David Marchand
  Cc: Mattias Rönnblom, Thomas Monjalon, Van Haaren Harry,
	dpdklab, ci, Honnappa Nagarahalli, Aaron Conole, dev, dts

+CC: DTS mailing list.

> From: David Marchand [mailto:david.marchand@redhat.com]
> Sent: Thursday, 6 October 2022 09.05
> 
> On Thu, Oct 6, 2022 at 8:53 AM Morten Brørup <mb@smartsharesystems.com>
> wrote:

[...]

> > Forgive me, if I am sidetracking a bit here... The issue discussed
> seems to be related to some threads waiting for other threads, and my
> question is not directly related to that.
> >
> > I have been wondering how accurate the tests really are. Where can I
> see what is being done to ensure that the EAL worker threads are fully
> isolated, and never interrupted by the O/S scheduler or similar?
> >
> > For reference, the max packet rate at 40 Gbit/s is 59.52 M pkt/s. If
> a NIC is configured with 4096 Rx descriptors, packet loss will occur
> after ca. 70 us (microseconds!) if not servicing the ingress queue when
> receiving at max packet rate.
> >
> > I recently posted some code for monitoring the O/S noise in EAL
> worker threads [1]. What should I do if I want to run that code in the
> automated test environment? It would be for informational purposes
> only, i.e. I would manually look at the test output to see the result.
> >
> > I would write a test application that simply starts the O/S noise
> monitor thread as an isolated EAL worker thread, the main thread would
> then wait for 10 minutes (or some other duration), dump the result to
> the standard output, and exit the application.
> >
> > [1]:
> http://inbox.dpdk.org/dev/98CBD80474FA8B44BF855DF32C47DC35D87352@smarts
> erver.smartshare.dk/
> 
> Maybe we could do some hack, like finding a test in the current CI
> that matches the test requirement: number of cores, ports, setup
> params etc... (retrieving the output could be another challenge).
> But if you think this is something we should have on the long run, I'd
> suggest writing a new DTS test.

It would be useful having in the long run - it could catch sudden anomalies in the test environment.

Where can I find documentation on how to add a new test case to DTS?

-Morten


^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [dpdklab] RE: rte_service unit test failing randomly
       [not found]                 ` <CAOE1vsO3m120er51kytec5UXOruCWUve7ucuk6suD3xaYuqHBQ@mail.gmail.com>
@ 2022-10-06 12:00                   ` Morten Brørup
  2022-10-06 17:52                     ` Honnappa Nagarahalli
  0 siblings, 1 reply; 3+ messages in thread
From: Morten Brørup @ 2022-10-06 12:00 UTC (permalink / raw)
  To: Lincoln Lavoie
  Cc: Mattias Rönnblom, Thomas Monjalon, Van Haaren Harry,
	David Marchand, dpdklab, ci, Honnappa Nagarahalli, Aaron Conole,
	dev, dts

From: Lincoln Lavoie [mailto:lylavoie@iol.unh.edu] 
Sent: Thursday, 6 October 2022 13.07
> On Thu, Oct 6, 2022 at 5:49 AM Morten Brørup <mb@smartsharesystems.com> wrote:
> > From: Mattias Rönnblom [mailto:mattias.ronnblom@ericsson.com]
> > Sent: Thursday, 6 October 2022 10.59
> > 
> > On 2022-10-06 10:18, Morten Brørup wrote:
> > >> From: Mattias Rönnblom [mailto:mattias.ronnblom@ericsson.com]
> > >> Sent: Thursday, 6 October 2022 09.51
> > >>
> > >> On 2022-10-06 08:53, Morten Brørup wrote:
> > >
> > > [...]
> > >
> > >>> I have been wondering how accurate the tests really are. Where can
> > I
> > >> see what is being done to ensure that the EAL worker threads are
> > fully
> > >> isolated, and never interrupted by the O/S scheduler or similar?

[...]

> Back to the topic of unit testing, I think we need to consider their purpose and where we expect them to run.  Unit tests are run in automated environments, across multiple CI systems, i.e. UNH-IOL Community Lab, GitHub, etc.  Those environments are typically virtualized and I don't think the unit tests should require turning down to the level of CPU clock ticks.  Those tests are likely better suited to dedicated performance environments, where the complete host is tightly controlled, for the purpose of repeatable and deterministic results on things like packet throughput, etc.

Excellent point, Lincoln. Verifying the performance of the surrounding runtime environment - i.e. the host running the tests - is not unit test material, it belongs with the performance tests.

So, how do I add a test case to the performance test suite? Is there a guide, a reference example, or any other documentation I can look at for inspiration?

NB: This is a good example of yesterday's techboard meeting discussion... I'm a DTS newbie wanting to contribute with a new test case, how do I get started?

If no such documentation exists, could someone please point at a couple of files representing what needs to be added?



^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [dpdklab] RE: rte_service unit test failing randomly
  2022-10-06 12:00                   ` [dpdklab] " Morten Brørup
@ 2022-10-06 17:52                     ` Honnappa Nagarahalli
  0 siblings, 0 replies; 3+ messages in thread
From: Honnappa Nagarahalli @ 2022-10-06 17:52 UTC (permalink / raw)
  To: Morten Brørup, Lincoln Lavoie
  Cc: Mattias Rönnblom, thomas, Van Haaren Harry, David Marchand,
	dpdklab, ci, Aaron Conole, dev, dts, nd, nd

<snip>

> > >
> > > On 2022-10-06 10:18, Morten Brørup wrote:
> > > >> From: Mattias Rönnblom [mailto:mattias.ronnblom@ericsson.com]
> > > >> Sent: Thursday, 6 October 2022 09.51
> > > >>
> > > >> On 2022-10-06 08:53, Morten Brørup wrote:
> > > >
> > > > [...]
> > > >
> > > >>> I have been wondering how accurate the tests really are. Where can
> > > I
> > > >> see what is being done to ensure that the EAL worker threads are
> > > fully
> > > >> isolated, and never interrupted by the O/S scheduler or similar?
> 
> [...]
> 
> > Back to the topic of unit testing, I think we need to consider their purpose and
> where we expect them to run.  Unit tests are run in automated environments,
> across multiple CI systems, i.e. UNH-IOL Community Lab, GitHub, etc.  Those
> environments are typically virtualized and I don't think the unit tests should
> require turning down to the level of CPU clock ticks.  Those tests are likely better
> suited to dedicated performance environments, where the complete host is
> tightly controlled, for the purpose of repeatable and deterministic results on
> things like packet throughput, etc.
> 
> Excellent point, Lincoln. Verifying the performance of the surrounding runtime
> environment - i.e. the host running the tests - is not unit test material, it belongs
> with the performance tests.
IIRC, the unit tests were separated into perf tests and non-perf tests. The perf tests were meant to be run on bare metal systems in the lab.

> 
> So, how do I add a test case to the performance test suite? Is there a guide, a
> reference example, or any other documentation I can look at for inspiration?
> 
> NB: This is a good example of yesterday's techboard meeting discussion... I'm a
> DTS newbie wanting to contribute with a new test case, how do I get started?
> 
> If no such documentation exists, could someone please point at a couple of files
> representing what needs to be added?
In the current DTS, you can look at some documentation at doc/dts_gsg/usr_guide/intro.rst and look at hello world test case. You can also look at tests/TestSuite_hello_world.py and test_plans/hello_world_test_plan.rst. 

> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-10-06 17:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CAJFAV8wcXZ_XhML=64HcV6Zs06PrB=UP9q5M6LWQhGvfLHmjEQ@mail.gmail.com>
     [not found] ` <739ee0ca-ccbe-5918-c2af-18e77327a898@ericsson.com>
     [not found]   ` <3000673.mvXUDI8C0e@thomas>
     [not found]     ` <e4aca5cb-4805-9391-c73e-6ba8b8d5982a@ericsson.com>
     [not found]       ` <98CBD80474FA8B44BF855DF32C47DC35D87399@smartserver.smartshare.dk>
     [not found]         ` <CAJFAV8yNC+NtBOLENuduxLTTZESef71hRdrhgNHoMJ1qdXZ+cA@mail.gmail.com>
2022-10-06  7:50           ` rte_service unit test failing randomly Morten Brørup
     [not found]         ` <d9aa3d6b-fa53-42c1-9089-9568b1c78095@ericsson.com>
     [not found]           ` <98CBD80474FA8B44BF855DF32C47DC35D8739B@smartserver.smartshare.dk>
     [not found]             ` <aef2561c-ee84-f4ba-632e-a0f3d5642dd3@ericsson.com>
     [not found]               ` <98CBD80474FA8B44BF855DF32C47DC35D8739D@smartserver.smartshare.dk>
     [not found]                 ` <CAOE1vsO3m120er51kytec5UXOruCWUve7ucuk6suD3xaYuqHBQ@mail.gmail.com>
2022-10-06 12:00                   ` [dpdklab] " Morten Brørup
2022-10-06 17:52                     ` Honnappa Nagarahalli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).