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 to configure Rx/Tx scatter gather. 159 Only applicable for `pipeline_atq` and `pipeline_queue` tests. 160 161* ``--prod_enq_burst_sz`` 162 163 Set producer enqueue burst size. Can be used to configure the number of 164 events the producer(s) will enqueue as a burst to the event device. 165 Only applicable for `perf_queue` test. 166 167* ``--nb_eth_queues`` 168 169 Configure multiple Rx queues per each ethernet port. 170 Only applicable for `pipeline_atq` and `pipeline_queue` tests. 171 172* ``--enable_vector`` 173 174 Enable event vector for Rx/Tx adapters. 175 Only applicable for `pipeline_atq` and `pipeline_queue` tests. 176 177* ``--vector_size`` 178 179 Vector size to configure for the Rx adapter. 180 Only applicable for `pipeline_atq` and `pipeline_queue` tests. 181 182* ``--vector_tmo_ns`` 183 184 Vector timeout nanoseconds to be configured for the Rx adapter. 185 Only applicable for `pipeline_atq` and `pipeline_queue` tests. 186 187* ``--per_port_pool`` 188 189 Configure unique mempool per ethernet device, the size of each pool 190 is equal to `pool_sz`. 191 Only applicable for pipeline_atq` and `pipeline_queue` tests. 192 193 194Eventdev Tests 195-------------- 196 197ORDER_QUEUE Test 198~~~~~~~~~~~~~~~~ 199 200This is a functional test case that aims at testing the following: 201 202#. Verify the ingress order maintenance. 203#. Verify the exclusive(atomic) access to given atomic flow per eventdev port. 204 205.. _table_eventdev_order_queue_test: 206 207.. table:: Order queue test eventdev configuration. 208 209 +---+--------------+----------------+------------------------+ 210 | # | Items | Value | Comments | 211 | | | | | 212 +===+==============+================+========================+ 213 | 1 | nb_queues | 2 | q0(ordered), q1(atomic)| 214 | | | | | 215 +---+--------------+----------------+------------------------+ 216 | 2 | nb_producers | 1 | | 217 | | | | | 218 +---+--------------+----------------+------------------------+ 219 | 3 | nb_workers | >= 1 | | 220 | | | | | 221 +---+--------------+----------------+------------------------+ 222 | 4 | nb_ports | nb_workers + | Workers use port 0 to | 223 | | | 1 | port n-1. Producer uses| 224 | | | | port n | 225 +---+--------------+----------------+------------------------+ 226 227.. _figure_eventdev_order_queue_test: 228 229.. figure:: img/eventdev_order_queue_test.* 230 231 order queue test operation. 232 233The order queue test configures the eventdev with two queues and an event 234producer to inject the events to q0(ordered) queue. Both q0(ordered) and 235q1(atomic) are linked to all the workers. 236 237The event producer maintains a sequence number per flow and injects the events 238to the ordered queue. The worker receives the events from ordered queue and 239forwards to atomic queue. Since the events from an ordered queue can be 240processed in parallel on the different workers, the ingress order of events 241might have changed on the downstream atomic queue enqueue. On enqueue to the 242atomic queue, the eventdev PMD reorders the event to the original 243ingress order(i.e producer ingress order). 244 245When the event is dequeued from the atomic queue by the worker, this test 246verifies the expected sequence number of associated event per flow by comparing 247the free running expected sequence number per flow. 248 249Application options 250^^^^^^^^^^^^^^^^^^^ 251 252Supported application command line options are following:: 253 254 --verbose 255 --dev 256 --test 257 --socket_id 258 --pool_sz 259 --plcores 260 --wlcores 261 --nb_flows 262 --nb_pkts 263 --worker_deq_depth 264 --deq_tmo_nsec 265 266Example 267^^^^^^^ 268 269Example command to run order queue test: 270 271.. code-block:: console 272 273 sudo <build_dir>/app/dpdk-test-eventdev --vdev=event_sw0 -- \ 274 --test=order_queue --plcores 1 --wlcores 2,3 275 276 277ORDER_ATQ Test 278~~~~~~~~~~~~~~ 279 280This test verifies the same aspects of ``order_queue`` test, the difference is 281the number of queues used, this test operates on a single ``all types queue(atq)`` 282instead of two different queues for ordered and atomic. 283 284.. _table_eventdev_order_atq_test: 285 286.. table:: Order all types queue test eventdev configuration. 287 288 +---+--------------+----------------+------------------------+ 289 | # | Items | Value | Comments | 290 | | | | | 291 +===+==============+================+========================+ 292 | 1 | nb_queues | 1 | q0(all types queue) | 293 | | | | | 294 +---+--------------+----------------+------------------------+ 295 | 2 | nb_producers | 1 | | 296 | | | | | 297 +---+--------------+----------------+------------------------+ 298 | 3 | nb_workers | >= 1 | | 299 | | | | | 300 +---+--------------+----------------+------------------------+ 301 | 4 | nb_ports | nb_workers + | Workers use port 0 to | 302 | | | 1 | port n-1.Producer uses | 303 | | | | port n. | 304 +---+--------------+----------------+------------------------+ 305 306.. _figure_eventdev_order_atq_test: 307 308.. figure:: img/eventdev_order_atq_test.* 309 310 order all types queue test operation. 311 312Application options 313^^^^^^^^^^^^^^^^^^^ 314 315Supported application command line options are following:: 316 317 --verbose 318 --dev 319 --test 320 --socket_id 321 --pool_sz 322 --plcores 323 --wlcores 324 --nb_flows 325 --nb_pkts 326 --worker_deq_depth 327 --deq_tmo_nsec 328 329Example 330^^^^^^^ 331 332Example command to run order ``all types queue`` test: 333 334.. code-block:: console 335 336 sudo <build_dir>/app/dpdk-test-eventdev --vdev=event_octeontx -- \ 337 --test=order_atq --plcores 1 --wlcores 2,3 338 339 340PERF_QUEUE Test 341~~~~~~~~~~~~~~~ 342 343This is a performance test case that aims at testing the following: 344 345#. Measure the number of events can be processed in a second. 346#. Measure the latency to forward an event. 347 348.. _table_eventdev_perf_queue_test: 349 350.. table:: Perf queue test eventdev configuration. 351 352 +---+--------------+----------------+-----------------------------------------+ 353 | # | Items | Value | Comments | 354 | | | | | 355 +===+==============+================+=========================================+ 356 | 1 | nb_queues | nb_producers * | Queues will be configured based on the | 357 | | | nb_stages | user requested sched type list(--stlist)| 358 +---+--------------+----------------+-----------------------------------------+ 359 | 2 | nb_producers | >= 1 | Selected through --plcores command line | 360 | | | | argument. | 361 +---+--------------+----------------+-----------------------------------------+ 362 | 3 | nb_workers | >= 1 | Selected through --wlcores command line | 363 | | | | argument | 364 +---+--------------+----------------+-----------------------------------------+ 365 | 4 | nb_ports | nb_workers + | Workers use port 0 to port n-1. | 366 | | | nb_producers | Producers use port n to port p | 367 +---+--------------+----------------+-----------------------------------------+ 368 369.. _figure_eventdev_perf_queue_test: 370 371.. figure:: img/eventdev_perf_queue_test.* 372 373 perf queue test operation. 374 375The perf queue test configures the eventdev with Q queues and P ports, where 376Q and P is a function of the number of workers, the number of producers and 377number of stages as mentioned in :numref:`table_eventdev_perf_queue_test`. 378 379The user can choose the number of workers, the number of producers and number of 380stages through the ``--wlcores``, ``--plcores`` and the ``--stlist`` application 381command line arguments respectively. 382 383The producer(s) injects the events to eventdev based on the first stage sched type 384list requested by the user through ``--stlist`` command line argument. It can 385inject a burst of events using ``--prod_enq_burst_sz`` command line argument. 386 387Based on the number of stages to process(selected through ``--stlist``), 388The application forwards the event to next upstream queue and terminates when it 389reaches the last stage in the pipeline. On event termination, application 390increments the number events processed and print periodically in one second 391to get the number of events processed in one second. 392 393When ``--fwd_latency`` command line option selected, the application inserts 394the timestamp in the event on the first stage and then on termination, it 395updates the number of cycles to forward a packet. The application uses this 396value to compute the average latency to a forward packet. 397 398When ``--prod_type_ethdev`` command line option is selected, the application 399uses the probed ethernet devices as producers by configuring them as Rx 400adapters instead of using synthetic producers. 401 402Application options 403^^^^^^^^^^^^^^^^^^^ 404 405Supported application command line options are following:: 406 407 --verbose 408 --dev 409 --test 410 --socket_id 411 --pool_sz 412 --plcores 413 --wlcores 414 --stlist 415 --nb_flows 416 --nb_pkts 417 --worker_deq_depth 418 --fwd_latency 419 --queue_priority 420 --prod_type_ethdev 421 --prod_type_timerdev_burst 422 --prod_type_timerdev 423 --prod_enq_burst_sz 424 --timer_tick_nsec 425 --max_tmo_nsec 426 --expiry_nsec 427 --nb_timers 428 --nb_timer_adptrs 429 --deq_tmo_nsec 430 431Example 432^^^^^^^ 433 434Example command to run perf queue test: 435 436.. code-block:: console 437 438 sudo <build_dir>/app/dpdk-test-eventdev -c 0xf -s 0x1 --vdev=event_sw0 -- \ 439 --test=perf_queue --plcores=2 --wlcore=3 --stlist=p --nb_pkts=0 440 441Example command to run perf queue test with producer enqueuing a burst of events: 442 443.. code-block:: console 444 445 sudo <build_dir>/app/dpdk-test-eventdev -c 0xf -s 0x1 --vdev=event_sw0 -- \ 446 --test=perf_queue --plcores=2 --wlcore=3 --stlist=p --nb_pkts=0 \ 447 --prod_enq_burst_sz=32 448 449Example command to run perf queue test with ethernet ports: 450 451.. code-block:: console 452 453 sudo build/app/dpdk-test-eventdev --vdev=event_sw0 -- \ 454 --test=perf_queue --plcores=2 --wlcore=3 --stlist=p --prod_type_ethdev 455 456Example command to run perf queue test with event timer adapter: 457 458.. code-block:: console 459 460 sudo <build_dir>/app/dpdk-test-eventdev --vdev="event_octeontx" -- \ 461 --wlcores 4 --plcores 12 --test perf_queue --stlist=a \ 462 --prod_type_timerdev --fwd_latency 463 464PERF_ATQ Test 465~~~~~~~~~~~~~~~ 466 467This is a performance test case that aims at testing the following with 468``all types queue`` eventdev scheme. 469 470#. Measure the number of events can be processed in a second. 471#. Measure the latency to forward an event. 472 473.. _table_eventdev_perf_atq_test: 474 475.. table:: Perf all types queue test eventdev configuration. 476 477 +---+--------------+----------------+-----------------------------------------+ 478 | # | Items | Value | Comments | 479 | | | | | 480 +===+==============+================+=========================================+ 481 | 1 | nb_queues | nb_producers | Queues will be configured based on the | 482 | | | | user requested sched type list(--stlist)| 483 +---+--------------+----------------+-----------------------------------------+ 484 | 2 | nb_producers | >= 1 | Selected through --plcores command line | 485 | | | | argument. | 486 +---+--------------+----------------+-----------------------------------------+ 487 | 3 | nb_workers | >= 1 | Selected through --wlcores command line | 488 | | | | argument | 489 +---+--------------+----------------+-----------------------------------------+ 490 | 4 | nb_ports | nb_workers + | Workers use port 0 to port n-1. | 491 | | | nb_producers | Producers use port n to port p | 492 +---+--------------+----------------+-----------------------------------------+ 493 494.. _figure_eventdev_perf_atq_test: 495 496.. figure:: img/eventdev_perf_atq_test.* 497 498 perf all types queue test operation. 499 500 501The ``all types queues(atq)`` perf test configures the eventdev with Q queues 502and P ports, where Q and P is a function of the number of workers and number of 503producers as mentioned in :numref:`table_eventdev_perf_atq_test`. 504 505 506The atq queue test functions as same as ``perf_queue`` test. The difference 507is, It uses, ``all type queue scheme`` instead of separate queues for each 508stage and thus reduces the number of queues required to realize the use case 509and enables flow pinning as the event does not move to the next queue. 510 511 512Application options 513^^^^^^^^^^^^^^^^^^^ 514 515Supported application command line options are following:: 516 517 --verbose 518 --dev 519 --test 520 --socket_id 521 --pool_sz 522 --plcores 523 --wlcores 524 --stlist 525 --nb_flows 526 --nb_pkts 527 --worker_deq_depth 528 --fwd_latency 529 --prod_type_ethdev 530 --prod_type_timerdev_burst 531 --prod_type_timerdev 532 --timer_tick_nsec 533 --max_tmo_nsec 534 --expiry_nsec 535 --nb_timers 536 --nb_timer_adptrs 537 --deq_tmo_nsec 538 539Example 540^^^^^^^ 541 542Example command to run perf ``all types queue`` test: 543 544.. code-block:: console 545 546 sudo <build_dir>/app/dpdk-test-eventdev --vdev=event_octeontx -- \ 547 --test=perf_atq --plcores=2 --wlcore=3 --stlist=p --nb_pkts=0 548 549Example command to run perf ``all types queue`` test with event timer adapter: 550 551.. code-block:: console 552 553 sudo <build_dir>/app/dpdk-test-eventdev --vdev="event_octeontx" -- \ 554 --wlcores 4 --plcores 12 --test perf_atq --verbose 20 \ 555 --stlist=a --prod_type_timerdev --fwd_latency 556 557 558PIPELINE_QUEUE Test 559~~~~~~~~~~~~~~~~~~~ 560 561This is a pipeline test case that aims at testing the following: 562 563#. Measure the end-to-end performance of an event dev with a ethernet dev. 564#. Maintain packet ordering from Rx to Tx. 565 566.. _table_eventdev_pipeline_queue_test: 567 568.. table:: Pipeline queue test eventdev configuration. 569 570 +---+--------------+----------------+-----------------------------------------+ 571 | # | Items | Value | Comments | 572 | | | | | 573 +===+==============+================+=========================================+ 574 | 1 | nb_queues | (nb_producers | Queues will be configured based on the | 575 | | | * nb_stages) + | user requested sched type list(--stlist)| 576 | | | nb_producers | At the last stage of the schedule list | 577 | | | | the event is enqueued onto per port | 578 | | | | unique queue which is then Transmitted. | 579 +---+--------------+----------------+-----------------------------------------+ 580 | 2 | nb_producers | >= 1 | Producers will be configured based on | 581 | | | | the number of detected ethernet devices.| 582 | | | | Each ethdev will be configured as an Rx | 583 | | | | adapter. | 584 +---+--------------+----------------+-----------------------------------------+ 585 | 3 | nb_workers | >= 1 | Selected through --wlcores command line | 586 | | | | argument | 587 +---+--------------+----------------+-----------------------------------------+ 588 | 4 | nb_ports | nb_workers + | Workers use port 0 to port n. | 589 | | | (nb_produces * | Producers use port n+1 to port n+m, | 590 | | | 2) | depending on the Rx adapter capability. | 591 | | | | Consumers use port n+m+1 to port n+o | 592 | | | | depending on the Tx adapter capability. | 593 +---+--------------+----------------+-----------------------------------------+ 594 595.. _figure_eventdev_pipeline_queue_test_generic: 596 597.. figure:: img/eventdev_pipeline_queue_test_generic.* 598 599.. _figure_eventdev_pipeline_queue_test_internal_port: 600 601.. figure:: img/eventdev_pipeline_queue_test_internal_port.* 602 603 pipeline queue test operation. 604 605The pipeline queue test configures the eventdev with Q queues and P ports, 606where Q and P is a function of the number of workers, the number of producers 607and number of stages as mentioned in :numref:`table_eventdev_pipeline_queue_test`. 608 609The user can choose the number of workers and number of stages through the 610``--wlcores`` and the ``--stlist`` application command line arguments 611respectively. 612 613The number of producers depends on the number of ethernet devices detected and 614each ethernet device is configured as a event_eth_rx_adapter that acts as a 615producer. 616 617The producer(s) injects the events to eventdev based the first stage sched type 618list requested by the user through ``--stlist`` the command line argument. 619 620Based on the number of stages to process(selected through ``--stlist``), 621The application forwards the event to next upstream queue and when it reaches 622the last stage in the pipeline if the event type is ``atomic`` it is enqueued 623onto ethdev Tx queue else to maintain ordering the event type is set to 624``atomic`` and enqueued onto the last stage queue. 625 626If the ethdev and eventdev pair have ``RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT`` 627capability then the worker cores enqueue the packets to the eventdev directly 628using ``rte_event_eth_tx_adapter_enqueue`` else the worker cores enqueue the 629packet onto the ``SINGLE_LINK_QUEUE`` that is managed by the Tx adapter. 630The Tx adapter dequeues the packet and transmits it. 631 632On packet Tx, application increments the number events processed and print 633periodically in one second to get the number of events processed in one 634second. 635 636 637Application options 638^^^^^^^^^^^^^^^^^^^ 639 640Supported application command line options are following:: 641 642 --verbose 643 --dev 644 --test 645 --socket_id 646 --pool_sz 647 --wlcores 648 --stlist 649 --worker_deq_depth 650 --prod_type_ethdev 651 --deq_tmo_nsec 652 --nb_eth_queues 653 --enable_vector 654 --vector_size 655 --vector_tmo_ns 656 --per_port_pool 657 658 659.. Note:: 660 661 * The ``--prod_type_ethdev`` is mandatory for running this test. 662 663Example 664^^^^^^^ 665 666Example command to run pipeline queue test: 667 668.. code-block:: console 669 670 sudo <build_dir>/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ 671 --test=pipeline_queue --wlcore=1 --prod_type_ethdev --stlist=a 672 673Example command to run pipeline atq test with vector events: 674 675.. code-block:: console 676 677 sudo <build_dir>/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ 678 --test=pipeline_queue --wlcore=1 --prod_type_ethdev --stlist=a \ 679 --enable_vector --vector_size 512 680 681PIPELINE_ATQ Test 682~~~~~~~~~~~~~~~~~~~ 683 684This is a pipeline test case that aims at testing the following with 685``all types queue`` eventdev scheme. 686 687#. Measure the end-to-end performance of an event dev with a ethernet dev. 688#. Maintain packet ordering from Rx to Tx. 689 690.. _table_eventdev_pipeline_atq_test: 691 692.. table:: Pipeline atq test eventdev configuration. 693 694 +---+--------------+----------------+-----------------------------------------+ 695 | # | Items | Value | Comments | 696 | | | | | 697 +===+==============+================+=========================================+ 698 | 1 | nb_queues | nb_producers + | Queues will be configured based on the | 699 | | | x | user requested sched type list(--stlist)| 700 | | | | where x = nb_producers in generic | 701 | | | | pipeline and 0 if all the ethdev | 702 | | | | being used have Internal port capability| 703 +---+--------------+----------------+-----------------------------------------+ 704 | 2 | nb_producers | >= 1 | Producers will be configured based on | 705 | | | | the number of detected ethernet devices.| 706 | | | | Each ethdev will be configured as an Rx | 707 | | | | adapter. | 708 +---+--------------+----------------+-----------------------------------------+ 709 | 3 | nb_workers | >= 1 | Selected through --wlcores command line | 710 | | | | argument | 711 +---+--------------+----------------+-----------------------------------------+ 712 | 4 | nb_ports | nb_workers + | Workers use port 0 to port n. | 713 | | | nb_producers + | Producers use port n+1 to port n+m, | 714 | | | x | depending on the Rx adapter capability. | 715 | | | | x = nb_producers in generic pipeline and| 716 | | | | 0 if all the ethdev being used have | 717 | | | | Internal port capability. | 718 | | | | Consumers may use port n+m+1 to port n+o| 719 | | | | depending on the Tx adapter capability. | 720 +---+--------------+----------------+-----------------------------------------+ 721 722.. _figure_eventdev_pipeline_atq_test_generic: 723 724.. figure:: img/eventdev_pipeline_atq_test_generic.* 725 726.. _figure_eventdev_pipeline_atq_test_internal_port: 727 728.. figure:: img/eventdev_pipeline_atq_test_internal_port.* 729 730 pipeline atq test operation. 731 732The pipeline atq test configures the eventdev with Q queues and P ports, 733where Q and P is a function of the number of workers, the number of producers 734and number of stages as mentioned in :numref:`table_eventdev_pipeline_atq_test`. 735 736The atq queue test functions as same as ``pipeline_queue`` test. The difference 737is, It uses, ``all type queue scheme`` instead of separate queues for each 738stage and thus reduces the number of queues required to realize the use case. 739 740 741Application options 742^^^^^^^^^^^^^^^^^^^ 743 744Supported application command line options are following:: 745 746 --verbose 747 --dev 748 --test 749 --socket_id 750 --pool_sz 751 --wlcores 752 --stlist 753 --worker_deq_depth 754 --prod_type_ethdev 755 --deq_tmo_nsec 756 --nb_eth_queues 757 --enable_vector 758 --vector_size 759 --vector_tmo_ns 760 --per_port_pool 761 762 763.. Note:: 764 765 * The ``--prod_type_ethdev`` is mandatory for running this test. 766 767Example 768^^^^^^^ 769 770Example command to run pipeline atq test: 771 772.. code-block:: console 773 774 sudo <build_dir>/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ 775 --test=pipeline_atq --wlcore=1 --prod_type_ethdev --stlist=a 776 777Example command to run pipeline atq test with vector events: 778 779.. code-block:: console 780 781 sudo <build_dir>/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ 782 --test=pipeline_atq --wlcore=1 --prod_type_ethdev --stlist=a \ 783 --enable_vector --vector_size 512 784