X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Ftools%2Ftesteventdev.rst;h=7b4cdeb43f30a5313b0d6db78b9fb579aa4faa63;hb=81ce0906ea2a8c496dcad30c87aecdd8db95e0ea;hp=cddba3be0881c23b57148b7b3e089a0c6317fa9c;hpb=a4f5612353e9fd724db7ad301da533285b4cad99;p=dpdk.git diff --git a/doc/guides/tools/testeventdev.rst b/doc/guides/tools/testeventdev.rst index cddba3be08..7b4cdeb43f 100644 --- a/doc/guides/tools/testeventdev.rst +++ b/doc/guides/tools/testeventdev.rst @@ -10,19 +10,6 @@ This application has a generic framework to add new eventdev based test cases to verify functionality and measure the performance parameters of DPDK eventdev devices. -Compiling the Application -------------------------- - -**Build the application** - -Execute the ``dpdk-setup.sh`` script to build the DPDK library together with the -``dpdk-test-eventdev`` application. - -Initially, the user must select a DPDK target to choose the correct target type -and compiler options to use when building the libraries. -The user must have all libraries, modules, updates and compilers installed -in the system prior to this, -as described in the earlier chapters in this Getting Started Guide. Running the Application ----------------------- @@ -129,31 +116,80 @@ The following are the application command-line options: Use event timer adapter as producer. - * ``--prod_type_timerdev_burst`` +* ``--prod_type_timerdev_burst`` + + Use burst mode event timer adapter as producer. + +* ``--timer_tick_nsec`` + + Used to dictate number of nano seconds between bucket traversal of the + event timer adapter. Refer `rte_event_timer_adapter_conf`. + +* ``--max_tmo_nsec`` + + Used to configure event timer adapter max arm timeout in nano seconds. + +* ``--expiry_nsec`` + + Dictate the number of nano seconds after which the event timer expires. + +* ``--nb_timers`` + + Number of event timers each producer core will generate. + +* ``--nb_timer_adptrs`` + + Number of event timer adapters to be used. Each adapter is used in + round robin manner by the producer cores. + +* ``--deq_tmo_nsec`` + + Global dequeue timeout for all the event ports if the provided dequeue + timeout is out of the supported range of event device it will be + adjusted to the highest/lowest supported dequeue timeout supported. + +* ``--mbuf_sz`` + + Set packet mbuf size. Can be used to configure Jumbo Frames. Only + applicable for `pipeline_atq` and `pipeline_queue` tests. + +* ``--max_pkt_sz`` - Use burst mode event timer adapter as producer. + Set max packet mbuf size. Can be used to configure Rx/Tx scatter gather. + Only applicable for `pipeline_atq` and `pipeline_queue` tests. - * ``--timer_tick_nsec`` +* ``--prod_enq_burst_sz`` - Used to dictate number of nano seconds between bucket traversal of the - event timer adapter. Refer `rte_event_timer_adapter_conf`. + Set producer enqueue burst size. Can be used to configure the number of + events the producer(s) will enqueue as a burst to the event device. + Only applicable for `perf_queue` test. - * ``--max_tmo_nsec`` +* ``--nb_eth_queues`` - Used to configure event timer adapter max arm timeout in nano seconds. + Configure multiple Rx queues per each ethernet port. + Only applicable for `pipeline_atq` and `pipeline_queue` tests. - * ``--expiry_nsec`` +* ``--enable_vector`` - Dictate the number of nano seconds after which the event timer expires. + Enable event vector for Rx/Tx adapters. + Only applicable for `pipeline_atq` and `pipeline_queue` tests. - * ``--nb_timers`` +* ``--vector_size`` - Number of event timers each producer core will generate. + Vector size to configure for the Rx adapter. + Only applicable for `pipeline_atq` and `pipeline_queue` tests. - * ``--nb_timer_adptrs`` +* ``--vector_tmo_ns`` + + Vector timeout nanoseconds to be configured for the Rx adapter. + Only applicable for `pipeline_atq` and `pipeline_queue` tests. + +* ``--per_port_pool`` + + Configure unique mempool per ethernet device, the size of each pool + is equal to `pool_sz`. + Only applicable for pipeline_atq` and `pipeline_queue` tests. - Number of event timer adapters to be used. Each adapter is used in - round robin manner by the producer cores. Eventdev Tests -------------- @@ -225,6 +261,7 @@ Supported application command line options are following:: --nb_flows --nb_pkts --worker_deq_depth + --deq_tmo_nsec Example ^^^^^^^ @@ -233,7 +270,7 @@ Example command to run order queue test: .. code-block:: console - sudo build/app/dpdk-test-eventdev --vdev=event_sw0 -- \ + sudo /app/dpdk-test-eventdev --vdev=event_sw0 -- \ --test=order_queue --plcores 1 --wlcores 2,3 @@ -287,6 +324,7 @@ Supported application command line options are following:: --nb_flows --nb_pkts --worker_deq_depth + --deq_tmo_nsec Example ^^^^^^^ @@ -295,7 +333,7 @@ Example command to run order ``all types queue`` test: .. code-block:: console - sudo build/app/dpdk-test-eventdev --vdev=event_octeontx -- \ + sudo /app/dpdk-test-eventdev --vdev=event_octeontx -- \ --test=order_atq --plcores 1 --wlcores 2,3 @@ -342,8 +380,9 @@ The user can choose the number of workers, the number of producers and number of stages through the ``--wlcores``, ``--plcores`` and the ``--stlist`` application command line arguments respectively. -The producer(s) injects the events to eventdev based the first stage sched type -list requested by the user through ``--stlist`` the command line argument. +The producer(s) injects the events to eventdev based on the first stage sched type +list requested by the user through ``--stlist`` command line argument. It can +inject a burst of events using ``--prod_enq_burst_sz`` command line argument. Based on the number of stages to process(selected through ``--stlist``), The application forwards the event to next upstream queue and terminates when it @@ -381,11 +420,13 @@ Supported application command line options are following:: --prod_type_ethdev --prod_type_timerdev_burst --prod_type_timerdev + --prod_enq_burst_sz --timer_tick_nsec --max_tmo_nsec --expiry_nsec --nb_timers --nb_timer_adptrs + --deq_tmo_nsec Example ^^^^^^^ @@ -394,9 +435,17 @@ Example command to run perf queue test: .. code-block:: console - sudo build/app/dpdk-test-eventdev -c 0xf -s 0x1 --vdev=event_sw0 -- \ + sudo /app/dpdk-test-eventdev -c 0xf -s 0x1 --vdev=event_sw0 -- \ --test=perf_queue --plcores=2 --wlcore=3 --stlist=p --nb_pkts=0 +Example command to run perf queue test with producer enqueuing a burst of events: + +.. code-block:: console + + sudo /app/dpdk-test-eventdev -c 0xf -s 0x1 --vdev=event_sw0 -- \ + --test=perf_queue --plcores=2 --wlcore=3 --stlist=p --nb_pkts=0 \ + --prod_enq_burst_sz=32 + Example command to run perf queue test with ethernet ports: .. code-block:: console @@ -408,7 +457,7 @@ Example command to run perf queue test with event timer adapter: .. code-block:: console - sudo build/app/dpdk-test-eventdev --vdev="event_octeontx" -- \ + sudo /app/dpdk-test-eventdev --vdev="event_octeontx" -- \ --wlcores 4 --plcores 12 --test perf_queue --stlist=a \ --prod_type_timerdev --fwd_latency @@ -485,6 +534,7 @@ Supported application command line options are following:: --expiry_nsec --nb_timers --nb_timer_adptrs + --deq_tmo_nsec Example ^^^^^^^ @@ -493,14 +543,14 @@ Example command to run perf ``all types queue`` test: .. code-block:: console - sudo build/app/dpdk-test-eventdev --vdev=event_octeontx -- \ + sudo /app/dpdk-test-eventdev --vdev=event_octeontx -- \ --test=perf_atq --plcores=2 --wlcore=3 --stlist=p --nb_pkts=0 Example command to run perf ``all types queue`` test with event timer adapter: .. code-block:: console - sudo build/app/dpdk-test-eventdev --vdev="event_octeontx" -- \ + sudo /app/dpdk-test-eventdev --vdev="event_octeontx" -- \ --wlcores 4 --plcores 12 --test perf_atq --verbose 20 \ --stlist=a --prod_type_timerdev --fwd_latency @@ -598,6 +648,12 @@ Supported application command line options are following:: --stlist --worker_deq_depth --prod_type_ethdev + --deq_tmo_nsec + --nb_eth_queues + --enable_vector + --vector_size + --vector_tmo_ns + --per_port_pool .. Note:: @@ -611,9 +667,16 @@ Example command to run pipeline queue test: .. code-block:: console - sudo build/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ + sudo /app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ --test=pipeline_queue --wlcore=1 --prod_type_ethdev --stlist=a +Example command to run pipeline atq test with vector events: + +.. code-block:: console + + sudo /app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ + --test=pipeline_queue --wlcore=1 --prod_type_ethdev --stlist=a \ + --enable_vector --vector_size 512 PIPELINE_ATQ Test ~~~~~~~~~~~~~~~~~~~ @@ -689,6 +752,12 @@ Supported application command line options are following:: --stlist --worker_deq_depth --prod_type_ethdev + --deq_tmo_nsec + --nb_eth_queues + --enable_vector + --vector_size + --vector_tmo_ns + --per_port_pool .. Note:: @@ -698,9 +767,17 @@ Supported application command line options are following:: Example ^^^^^^^ -Example command to run pipeline queue test: +Example command to run pipeline atq test: .. code-block:: console - sudo build/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ + sudo /app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ --test=pipeline_atq --wlcore=1 --prod_type_ethdev --stlist=a + +Example command to run pipeline atq test with vector events: + +.. code-block:: console + + sudo /app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ + --test=pipeline_atq --wlcore=1 --prod_type_ethdev --stlist=a \ + --enable_vector --vector_size 512