xref: /dpdk/doc/guides/tools/testeventdev.rst (revision cf8a8a8f4896c0885d3996716f73513c4317e545)
1..  SPDX-License-Identifier: BSD-3-Clause
2    Copyright(c) 2017 Cavium, Inc
3
4dpdk-test-eventdev Application
5==============================
6
7The ``dpdk-test-eventdev`` tool is a Data Plane Development Kit (DPDK)
8application that allows exercising various eventdev use cases.
9This application has a generic framework to add new eventdev based test cases to
10verify functionality and measure the performance parameters of DPDK eventdev
11devices.
12
13
14Running the Application
15-----------------------
16
17The application has a number of command line options:
18
19.. code-block:: console
20
21   dpdk-test-eventdev [EAL Options] -- [application options]
22
23EAL Options
24~~~~~~~~~~~
25
26The following are the EAL command-line options that can be used in conjunction
27with the ``dpdk-test-eventdev`` application.
28See the DPDK Getting Started Guides for more information on these options.
29
30*   ``-c <COREMASK>`` or ``-l <CORELIST>``
31
32        Set the hexadecimal bitmask of the cores to run on. The corelist is a
33        list of cores to use.
34
35*   ``--vdev <driver><id>``
36
37        Add a virtual eventdev device.
38
39Application Options
40~~~~~~~~~~~~~~~~~~~
41
42The following are the application command-line options:
43
44* ``--verbose``
45
46        Set verbose level. Default is 1. Value > 1 displays more details.
47
48* ``--dev <n>``
49
50        Set the device id of the event device.
51
52* ``--test <name>``
53
54        Set test name, where ``name`` is one of the following::
55
56         order_queue
57         order_atq
58         perf_queue
59         perf_atq
60         pipeline_atq
61         pipeline_queue
62
63* ``--socket_id <n>``
64
65        Set the socket id of the application resources.
66
67* ``--pool-sz <n>``
68
69        Set the number of mbufs to be allocated from the mempool.
70
71* ``--plcores <CORELIST>``
72
73        Set the list of cores to be used as producers.
74
75* ``--wlcores <CORELIST>``
76
77        Set the list of cores to be used as workers.
78
79* ``--stlist <type_list>``
80
81        Set the scheduled type of each stage where ``type_list`` size
82        determines the number of stages used in the test application.
83        Each type_list member can be one of the following::
84
85            P or p : Parallel schedule type
86            O or o : Ordered schedule type
87            A or a : Atomic schedule type
88
89        Application expects the ``type_list`` in comma separated form (i.e. ``--stlist o,a,a,a``)
90
91* ``--nb_flows <n>``
92
93        Set the number of flows to produce.
94
95* ``--nb_pkts <n>``
96
97        Set the number of packets to produce. 0 implies no limit.
98
99* ``--worker_deq_depth <n>``
100
101        Set the dequeue depth of the worker.
102
103* ``--fwd_latency``
104
105        Perform forward latency measurement.
106
107* ``--queue_priority``
108
109        Enable queue priority.
110
111* ``--prod_type_ethdev``
112
113        Use ethernet device as producer.
114
115* ``--prod_type_timerdev``
116
117        Use event timer adapter as producer.
118
119* ``--prod_type_timerdev_burst``
120
121       Use burst mode event timer adapter as producer.
122
123* ``--timer_tick_nsec``
124
125       Used to dictate number of nano seconds between bucket traversal of the
126       event timer adapter. Refer `rte_event_timer_adapter_conf`.
127
128* ``--max_tmo_nsec``
129
130       Used to configure event timer adapter max arm timeout in nano seconds.
131
132* ``--expiry_nsec``
133
134       Dictate the number of nano seconds after which the event timer expires.
135
136* ``--nb_timers``
137
138       Number of event timers each producer core will generate.
139
140* ``--nb_timer_adptrs``
141
142       Number of event timer adapters to be used. Each adapter is used in
143       round robin manner by the producer cores.
144
145* ``--deq_tmo_nsec``
146
147       Global dequeue timeout for all the event ports if the provided dequeue
148       timeout is out of the supported range of event device it will be
149       adjusted to the highest/lowest supported dequeue timeout supported.
150
151* ``--mbuf_sz``
152
153       Set packet mbuf size. Can be used to configure Jumbo Frames. Only
154       applicable for `pipeline_atq` and `pipeline_queue` tests.
155
156* ``--max_pkt_sz``
157
158       Set max packet mbuf size. Can be used configure Rx/Tx scatter gather.
159       Only applicable for `pipeline_atq` and `pipeline_queue` tests.
160
161* ``--nb_eth_queues``
162
163       Configure multiple Rx queues per each ethernet port.
164       Only applicable for `pipeline_atq` and `pipeline_queue` tests.
165
166* ``--enable_vector``
167
168       Enable event vector for Rx/Tx adapters.
169       Only applicable for `pipeline_atq` and `pipeline_queue` tests.
170
171* ``--vector_size``
172
173       Vector size to configure for the Rx adapter.
174       Only applicable for `pipeline_atq` and `pipeline_queue` tests.
175
176* ``--vector_tmo_ns``
177
178       Vector timeout nanoseconds to be configured for the Rx adapter.
179       Only applicable for `pipeline_atq` and `pipeline_queue` tests.
180
181* ``--per_port_pool``
182
183        Configure unique mempool per ethernet device, the size of each pool
184        is equal to `pool_sz`.
185        Only applicable for pipeline_atq` and `pipeline_queue` tests.
186
187
188Eventdev Tests
189--------------
190
191ORDER_QUEUE Test
192~~~~~~~~~~~~~~~~
193
194This is a functional test case that aims at testing the following:
195
196#. Verify the ingress order maintenance.
197#. Verify the exclusive(atomic) access to given atomic flow per eventdev port.
198
199.. _table_eventdev_order_queue_test:
200
201.. table:: Order queue test eventdev configuration.
202
203   +---+--------------+----------------+------------------------+
204   | # | Items        | Value          | Comments               |
205   |   |              |                |                        |
206   +===+==============+================+========================+
207   | 1 | nb_queues    | 2              | q0(ordered), q1(atomic)|
208   |   |              |                |                        |
209   +---+--------------+----------------+------------------------+
210   | 2 | nb_producers | 1              |                        |
211   |   |              |                |                        |
212   +---+--------------+----------------+------------------------+
213   | 3 | nb_workers   | >= 1           |                        |
214   |   |              |                |                        |
215   +---+--------------+----------------+------------------------+
216   | 4 | nb_ports     | nb_workers +   | Workers use port 0 to  |
217   |   |              | 1              | port n-1. Producer uses|
218   |   |              |                | port n                 |
219   +---+--------------+----------------+------------------------+
220
221.. _figure_eventdev_order_queue_test:
222
223.. figure:: img/eventdev_order_queue_test.*
224
225   order queue test operation.
226
227The order queue test configures the eventdev with two queues and an event
228producer to inject the events to q0(ordered) queue. Both q0(ordered) and
229q1(atomic) are linked to all the workers.
230
231The event producer maintains a sequence number per flow and injects the events
232to the ordered queue. The worker receives the events from ordered queue and
233forwards to atomic queue. Since the events from an ordered queue can be
234processed in parallel on the different workers, the ingress order of events
235might have changed on the downstream atomic queue enqueue. On enqueue to the
236atomic queue, the eventdev PMD driver reorders the event to the original
237ingress order(i.e producer ingress order).
238
239When the event is dequeued from the atomic queue by the worker, this test
240verifies the expected sequence number of associated event per flow by comparing
241the free running expected sequence number per flow.
242
243Application options
244^^^^^^^^^^^^^^^^^^^
245
246Supported application command line options are following::
247
248   --verbose
249   --dev
250   --test
251   --socket_id
252   --pool_sz
253   --plcores
254   --wlcores
255   --nb_flows
256   --nb_pkts
257   --worker_deq_depth
258   --deq_tmo_nsec
259
260Example
261^^^^^^^
262
263Example command to run order queue test:
264
265.. code-block:: console
266
267   sudo <build_dir>/app/dpdk-test-eventdev --vdev=event_sw0 -- \
268                --test=order_queue --plcores 1 --wlcores 2,3
269
270
271ORDER_ATQ Test
272~~~~~~~~~~~~~~
273
274This test verifies the same aspects of ``order_queue`` test, the difference is
275the number of queues used, this test operates on a single ``all types queue(atq)``
276instead of two different queues for ordered and atomic.
277
278.. _table_eventdev_order_atq_test:
279
280.. table:: Order all types queue test eventdev configuration.
281
282   +---+--------------+----------------+------------------------+
283   | # | Items        | Value          | Comments               |
284   |   |              |                |                        |
285   +===+==============+================+========================+
286   | 1 | nb_queues    | 1              | q0(all types queue)    |
287   |   |              |                |                        |
288   +---+--------------+----------------+------------------------+
289   | 2 | nb_producers | 1              |                        |
290   |   |              |                |                        |
291   +---+--------------+----------------+------------------------+
292   | 3 | nb_workers   | >= 1           |                        |
293   |   |              |                |                        |
294   +---+--------------+----------------+------------------------+
295   | 4 | nb_ports     | nb_workers +   | Workers use port 0 to  |
296   |   |              | 1              | port n-1.Producer uses |
297   |   |              |                | port n.                |
298   +---+--------------+----------------+------------------------+
299
300.. _figure_eventdev_order_atq_test:
301
302.. figure:: img/eventdev_order_atq_test.*
303
304   order all types queue test operation.
305
306Application options
307^^^^^^^^^^^^^^^^^^^
308
309Supported application command line options are following::
310
311   --verbose
312   --dev
313   --test
314   --socket_id
315   --pool_sz
316   --plcores
317   --wlcores
318   --nb_flows
319   --nb_pkts
320   --worker_deq_depth
321   --deq_tmo_nsec
322
323Example
324^^^^^^^
325
326Example command to run order ``all types queue`` test:
327
328.. code-block:: console
329
330   sudo <build_dir>/app/dpdk-test-eventdev --vdev=event_octeontx -- \
331                        --test=order_atq --plcores 1 --wlcores 2,3
332
333
334PERF_QUEUE Test
335~~~~~~~~~~~~~~~
336
337This is a performance test case that aims at testing the following:
338
339#. Measure the number of events can be processed in a second.
340#. Measure the latency to forward an event.
341
342.. _table_eventdev_perf_queue_test:
343
344.. table:: Perf queue test eventdev configuration.
345
346   +---+--------------+----------------+-----------------------------------------+
347   | # | Items        | Value          | Comments                                |
348   |   |              |                |                                         |
349   +===+==============+================+=========================================+
350   | 1 | nb_queues    | nb_producers * | Queues will be configured based on the  |
351   |   |              | nb_stages      | user requested sched type list(--stlist)|
352   +---+--------------+----------------+-----------------------------------------+
353   | 2 | nb_producers | >= 1           | Selected through --plcores command line |
354   |   |              |                | argument.                               |
355   +---+--------------+----------------+-----------------------------------------+
356   | 3 | nb_workers   | >= 1           | Selected through --wlcores command line |
357   |   |              |                | argument                                |
358   +---+--------------+----------------+-----------------------------------------+
359   | 4 | nb_ports     | nb_workers +   | Workers use port 0 to port n-1.         |
360   |   |              | nb_producers   | Producers use port n to port p          |
361   +---+--------------+----------------+-----------------------------------------+
362
363.. _figure_eventdev_perf_queue_test:
364
365.. figure:: img/eventdev_perf_queue_test.*
366
367   perf queue test operation.
368
369The perf queue test configures the eventdev with Q queues and P ports, where
370Q and P is a function of the number of workers, the number of producers and
371number of stages as mentioned in :numref:`table_eventdev_perf_queue_test`.
372
373The user can choose the number of workers, the number of producers and number of
374stages through the ``--wlcores``, ``--plcores`` and the ``--stlist`` application
375command line arguments respectively.
376
377The producer(s) injects the events to eventdev based the first stage sched type
378list requested by the user through ``--stlist`` the command line argument.
379
380Based on the number of stages to process(selected through ``--stlist``),
381The application forwards the event to next upstream queue and terminates when it
382reaches the last stage in the pipeline. On event termination, application
383increments the number events processed and print periodically in one second
384to get the number of events processed in one second.
385
386When ``--fwd_latency`` command line option selected, the application inserts
387the timestamp in the event on the first stage and then on termination, it
388updates the number of cycles to forward a packet. The application uses this
389value to compute the average latency to a forward packet.
390
391When ``--prod_type_ethdev`` command line option is selected, the application
392uses the probed ethernet devices as producers by configuring them as Rx
393adapters instead of using synthetic producers.
394
395Application options
396^^^^^^^^^^^^^^^^^^^
397
398Supported application command line options are following::
399
400        --verbose
401        --dev
402        --test
403        --socket_id
404        --pool_sz
405        --plcores
406        --wlcores
407        --stlist
408        --nb_flows
409        --nb_pkts
410        --worker_deq_depth
411        --fwd_latency
412        --queue_priority
413        --prod_type_ethdev
414        --prod_type_timerdev_burst
415        --prod_type_timerdev
416        --timer_tick_nsec
417        --max_tmo_nsec
418        --expiry_nsec
419        --nb_timers
420        --nb_timer_adptrs
421        --deq_tmo_nsec
422
423Example
424^^^^^^^
425
426Example command to run perf queue test:
427
428.. code-block:: console
429
430   sudo <build_dir>/app/dpdk-test-eventdev -c 0xf -s 0x1 --vdev=event_sw0 -- \
431        --test=perf_queue --plcores=2 --wlcore=3 --stlist=p --nb_pkts=0
432
433Example command to run perf queue test with ethernet ports:
434
435.. code-block:: console
436
437   sudo build/app/dpdk-test-eventdev --vdev=event_sw0 -- \
438        --test=perf_queue --plcores=2 --wlcore=3 --stlist=p --prod_type_ethdev
439
440Example command to run perf queue test with event timer adapter:
441
442.. code-block:: console
443
444   sudo  <build_dir>/app/dpdk-test-eventdev --vdev="event_octeontx" -- \
445                --wlcores 4 --plcores 12 --test perf_queue --stlist=a \
446                --prod_type_timerdev --fwd_latency
447
448PERF_ATQ Test
449~~~~~~~~~~~~~~~
450
451This is a performance test case that aims at testing the following with
452``all types queue`` eventdev scheme.
453
454#. Measure the number of events can be processed in a second.
455#. Measure the latency to forward an event.
456
457.. _table_eventdev_perf_atq_test:
458
459.. table:: Perf all types queue test eventdev configuration.
460
461   +---+--------------+----------------+-----------------------------------------+
462   | # | Items        | Value          | Comments                                |
463   |   |              |                |                                         |
464   +===+==============+================+=========================================+
465   | 1 | nb_queues    | nb_producers   | Queues will be configured based on the  |
466   |   |              |                | user requested sched type list(--stlist)|
467   +---+--------------+----------------+-----------------------------------------+
468   | 2 | nb_producers | >= 1           | Selected through --plcores command line |
469   |   |              |                | argument.                               |
470   +---+--------------+----------------+-----------------------------------------+
471   | 3 | nb_workers   | >= 1           | Selected through --wlcores command line |
472   |   |              |                | argument                                |
473   +---+--------------+----------------+-----------------------------------------+
474   | 4 | nb_ports     | nb_workers +   | Workers use port 0 to port n-1.         |
475   |   |              | nb_producers   | Producers use port n to port p          |
476   +---+--------------+----------------+-----------------------------------------+
477
478.. _figure_eventdev_perf_atq_test:
479
480.. figure:: img/eventdev_perf_atq_test.*
481
482   perf all types queue test operation.
483
484
485The ``all types queues(atq)`` perf test configures the eventdev with Q queues
486and P ports, where Q and P is a function of the number of workers and number of
487producers as mentioned in :numref:`table_eventdev_perf_atq_test`.
488
489
490The atq queue test functions as same as ``perf_queue`` test. The difference
491is, It uses, ``all type queue scheme`` instead of separate queues for each
492stage and thus reduces the number of queues required to realize the use case
493and enables flow pinning as the event does not move to the next queue.
494
495
496Application options
497^^^^^^^^^^^^^^^^^^^
498
499Supported application command line options are following::
500
501        --verbose
502        --dev
503        --test
504        --socket_id
505        --pool_sz
506        --plcores
507        --wlcores
508        --stlist
509        --nb_flows
510        --nb_pkts
511        --worker_deq_depth
512        --fwd_latency
513        --prod_type_ethdev
514        --prod_type_timerdev_burst
515        --prod_type_timerdev
516        --timer_tick_nsec
517        --max_tmo_nsec
518        --expiry_nsec
519        --nb_timers
520        --nb_timer_adptrs
521        --deq_tmo_nsec
522
523Example
524^^^^^^^
525
526Example command to run perf ``all types queue`` test:
527
528.. code-block:: console
529
530   sudo <build_dir>/app/dpdk-test-eventdev --vdev=event_octeontx -- \
531                --test=perf_atq --plcores=2 --wlcore=3 --stlist=p --nb_pkts=0
532
533Example command to run perf ``all types queue`` test with event timer adapter:
534
535.. code-block:: console
536
537   sudo  <build_dir>/app/dpdk-test-eventdev --vdev="event_octeontx" -- \
538                --wlcores 4 --plcores 12 --test perf_atq --verbose 20 \
539                --stlist=a --prod_type_timerdev --fwd_latency
540
541
542PIPELINE_QUEUE Test
543~~~~~~~~~~~~~~~~~~~
544
545This is a pipeline test case that aims at testing the following:
546
547#. Measure the end-to-end performance of an event dev with a ethernet dev.
548#. Maintain packet ordering from Rx to Tx.
549
550.. _table_eventdev_pipeline_queue_test:
551
552.. table:: Pipeline queue test eventdev configuration.
553
554   +---+--------------+----------------+-----------------------------------------+
555   | # | Items        | Value          | Comments                                |
556   |   |              |                |                                         |
557   +===+==============+================+=========================================+
558   | 1 | nb_queues    | (nb_producers  | Queues will be configured based on the  |
559   |   |              | * nb_stages) + | user requested sched type list(--stlist)|
560   |   |              | nb_producers   | At the last stage of the schedule list  |
561   |   |              |                | the event is enqueued onto per port     |
562   |   |              |                | unique queue which is then Transmitted. |
563   +---+--------------+----------------+-----------------------------------------+
564   | 2 | nb_producers | >= 1           | Producers will be configured based on   |
565   |   |              |                | the number of detected ethernet devices.|
566   |   |              |                | Each ethdev will be configured as an Rx |
567   |   |              |                | adapter.                                |
568   +---+--------------+----------------+-----------------------------------------+
569   | 3 | nb_workers   | >= 1           | Selected through --wlcores command line |
570   |   |              |                | argument                                |
571   +---+--------------+----------------+-----------------------------------------+
572   | 4 | nb_ports     | nb_workers +   | Workers use port 0 to port n.           |
573   |   |              | (nb_produces * | Producers use port n+1 to port n+m,     |
574   |   |              | 2)             | depending on the Rx adapter capability. |
575   |   |              |                | Consumers use port n+m+1 to port n+o    |
576   |   |              |                | depending on the Tx adapter capability. |
577   +---+--------------+----------------+-----------------------------------------+
578
579.. _figure_eventdev_pipeline_queue_test_generic:
580
581.. figure:: img/eventdev_pipeline_queue_test_generic.*
582
583.. _figure_eventdev_pipeline_queue_test_internal_port:
584
585.. figure:: img/eventdev_pipeline_queue_test_internal_port.*
586
587   pipeline queue test operation.
588
589The pipeline queue test configures the eventdev with Q queues and P ports,
590where Q and P is a function of the number of workers, the number of producers
591and number of stages as mentioned in :numref:`table_eventdev_pipeline_queue_test`.
592
593The user can choose the number of workers and number of stages through the
594``--wlcores`` and the ``--stlist`` application command line arguments
595respectively.
596
597The number of producers depends on the number of ethernet devices detected and
598each ethernet device is configured as a event_eth_rx_adapter that acts as a
599producer.
600
601The producer(s) injects the events to eventdev based the first stage sched type
602list requested by the user through ``--stlist`` the command line argument.
603
604Based on the number of stages to process(selected through ``--stlist``),
605The application forwards the event to next upstream queue and when it reaches
606the last stage in the pipeline if the event type is ``atomic`` it is enqueued
607onto ethdev Tx queue else to maintain ordering the event type is set to
608``atomic`` and enqueued onto the last stage queue.
609
610If the ethdev and eventdev pair have ``RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT``
611capability then the worker cores enqueue the packets to the eventdev directly
612using ``rte_event_eth_tx_adapter_enqueue`` else the worker cores enqueue the
613packet onto the ``SINGLE_LINK_QUEUE`` that is managed by the Tx adapter.
614The Tx adapter dequeues the packet and transmits it.
615
616On packet Tx, application increments the number events processed and print
617periodically in one second to get the number of events processed in one
618second.
619
620
621Application options
622^^^^^^^^^^^^^^^^^^^
623
624Supported application command line options are following::
625
626        --verbose
627        --dev
628        --test
629        --socket_id
630        --pool_sz
631        --wlcores
632        --stlist
633        --worker_deq_depth
634        --prod_type_ethdev
635        --deq_tmo_nsec
636        --nb_eth_queues
637        --enable_vector
638        --vector_size
639        --vector_tmo_ns
640        --per_port_pool
641
642
643.. Note::
644
645    * The ``--prod_type_ethdev`` is mandatory for running this test.
646
647Example
648^^^^^^^
649
650Example command to run pipeline queue test:
651
652.. code-block:: console
653
654    sudo <build_dir>/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \
655        --test=pipeline_queue --wlcore=1 --prod_type_ethdev --stlist=a
656
657Example command to run pipeline atq test with vector events:
658
659.. code-block:: console
660
661    sudo <build_dir>/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \
662        --test=pipeline_queue --wlcore=1 --prod_type_ethdev --stlist=a \
663        --enable_vector  --vector_size 512
664
665PIPELINE_ATQ Test
666~~~~~~~~~~~~~~~~~~~
667
668This is a pipeline test case that aims at testing the following with
669``all types queue`` eventdev scheme.
670
671#. Measure the end-to-end performance of an event dev with a ethernet dev.
672#. Maintain packet ordering from Rx to Tx.
673
674.. _table_eventdev_pipeline_atq_test:
675
676.. table:: Pipeline atq test eventdev configuration.
677
678   +---+--------------+----------------+-----------------------------------------+
679   | # | Items        | Value          | Comments                                |
680   |   |              |                |                                         |
681   +===+==============+================+=========================================+
682   | 1 | nb_queues    | nb_producers + | Queues will be configured based on the  |
683   |   |              | x              | user requested sched type list(--stlist)|
684   |   |              |                | where x = nb_producers in generic       |
685   |   |              |                | pipeline and 0 if all the ethdev        |
686   |   |              |                | being used have Internal port capability|
687   +---+--------------+----------------+-----------------------------------------+
688   | 2 | nb_producers | >= 1           | Producers will be configured based on   |
689   |   |              |                | the number of detected ethernet devices.|
690   |   |              |                | Each ethdev will be configured as an Rx |
691   |   |              |                | adapter.                                |
692   +---+--------------+----------------+-----------------------------------------+
693   | 3 | nb_workers   | >= 1           | Selected through --wlcores command line |
694   |   |              |                | argument                                |
695   +---+--------------+----------------+-----------------------------------------+
696   | 4 | nb_ports     | nb_workers +   | Workers use port 0 to port n.           |
697   |   |              | nb_producers + | Producers use port n+1 to port n+m,     |
698   |   |              | x              | depending on the Rx adapter capability. |
699   |   |              |                | x = nb_producers in generic pipeline and|
700   |   |              |                | 0 if all the ethdev being used have     |
701   |   |              |                | Internal port capability.               |
702   |   |              |                | Consumers may use port n+m+1 to port n+o|
703   |   |              |                | depending on the Tx adapter capability. |
704   +---+--------------+----------------+-----------------------------------------+
705
706.. _figure_eventdev_pipeline_atq_test_generic:
707
708.. figure:: img/eventdev_pipeline_atq_test_generic.*
709
710.. _figure_eventdev_pipeline_atq_test_internal_port:
711
712.. figure:: img/eventdev_pipeline_atq_test_internal_port.*
713
714   pipeline atq test operation.
715
716The pipeline atq test configures the eventdev with Q queues and P ports,
717where Q and P is a function of the number of workers, the number of producers
718and number of stages as mentioned in :numref:`table_eventdev_pipeline_atq_test`.
719
720The atq queue test functions as same as ``pipeline_queue`` test. The difference
721is, It uses, ``all type queue scheme`` instead of separate queues for each
722stage and thus reduces the number of queues required to realize the use case.
723
724
725Application options
726^^^^^^^^^^^^^^^^^^^
727
728Supported application command line options are following::
729
730        --verbose
731        --dev
732        --test
733        --socket_id
734        --pool_sz
735        --wlcores
736        --stlist
737        --worker_deq_depth
738        --prod_type_ethdev
739        --deq_tmo_nsec
740        --nb_eth_queues
741        --enable_vector
742        --vector_size
743        --vector_tmo_ns
744        --per_port_pool
745
746
747.. Note::
748
749    * The ``--prod_type_ethdev`` is mandatory for running this test.
750
751Example
752^^^^^^^
753
754Example command to run pipeline atq test:
755
756.. code-block:: console
757
758    sudo <build_dir>/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \
759        --test=pipeline_atq --wlcore=1 --prod_type_ethdev --stlist=a
760
761Example command to run pipeline atq test with vector events:
762
763.. code-block:: console
764
765    sudo <build_dir>/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \
766        --test=pipeline_atq --wlcore=1 --prod_type_ethdev --stlist=a \
767        --enable_vector  --vector_size 512
768