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