net/ena: remove support of legacy LLQ
[dpdk.git] / doc / guides / tools / testeventdev.rst
index 33fe5e7..46effd8 100644 (file)
@@ -123,6 +123,36 @@ The following are the application command-line options:
 
         Use ethernet device as producer.
 
+* ``--prod_type_timerdev``
+
+        Use event timer adapter as producer.
+
+ * ``--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.
+
 Eventdev Tests
 --------------
 
@@ -347,6 +377,13 @@ Supported application command line options are following::
         --fwd_latency
         --queue_priority
         --prod_type_ethdev
+        --prod_type_timerdev_burst
+        --prod_type_timerdev
+        --timer_tick_nsec
+        --max_tmo_nsec
+        --expiry_nsec
+        --nb_timers
+        --nb_timer_adptrs
 
 Example
 ^^^^^^^
@@ -365,6 +402,14 @@ Example command to run perf queue test with ethernet ports:
    sudo build/app/dpdk-test-eventdev --vdev=event_sw0 -- \
         --test=perf_queue --plcores=2 --wlcore=3 --stlist=p --prod_type_ethdev
 
+Example command to run perf queue test with event timer adapter:
+
+.. code-block:: console
+
+   sudo  build/app/dpdk-test-eventdev --vdev="event_octeontx" -- \
+                --wlcores 4 --plcores 12 --test perf_queue --stlist=a \
+                --prod_type_timerdev --fwd_latency
+
 PERF_ATQ Test
 ~~~~~~~~~~~~~~~
 
@@ -431,6 +476,13 @@ Supported application command line options are following::
         --worker_deq_depth
         --fwd_latency
         --prod_type_ethdev
+        --prod_type_timerdev_burst
+        --prod_type_timerdev
+        --timer_tick_nsec
+        --max_tmo_nsec
+        --expiry_nsec
+        --nb_timers
+        --nb_timer_adptrs
 
 Example
 ^^^^^^^
@@ -442,6 +494,14 @@ Example command to run perf ``all types queue`` test:
    sudo build/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" -- \
+                --wlcores 4 --plcores 12 --test perf_atq --verbose 20 \
+                --stlist=a --prod_type_timerdev --fwd_latency
+
 
 PIPELINE_QUEUE Test
 ~~~~~~~~~~~~~~~~~~~
@@ -547,3 +607,88 @@ Example command to run pipeline queue test:
 
     sudo build/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \
         --test=pipeline_queue --wlcore=1 --prod_type_ethdev --stlist=a
+
+
+PIPELINE_ATQ Test
+~~~~~~~~~~~~~~~~~~~
+
+This is a pipeline test case that aims at testing the following with
+``all types queue`` eventdev scheme.
+
+#. Measure the end-to-end performance of an event dev with a ethernet dev.
+#. Maintain packet ordering from Rx to Tx.
+
+.. _table_eventdev_pipeline_atq_test:
+
+.. table:: Pipeline atq test eventdev configuration.
+
+   +---+--------------+----------------+-----------------------------------------+
+   | # | Items        | Value          | Comments                                |
+   |   |              |                |                                         |
+   +===+==============+================+=========================================+
+   | 1 | nb_queues    | nb_producers + | Queues will be configured based on the  |
+   |   |              | x              | user requested sched type list(--stlist)|
+   |   |              |                | where x = 1 in generic pipeline and 0   |
+   |   |              |                | in lockfree pipeline                    |
+   +---+--------------+----------------+-----------------------------------------+
+   | 2 | nb_producers | >= 1           | Producers will be configured based on   |
+   |   |              |                | the number of detected ethernet devices.|
+   |   |              |                | Each ethdev will be configured as an Rx |
+   |   |              |                | adapter.                                |
+   +---+--------------+----------------+-----------------------------------------+
+   | 3 | nb_workers   | >= 1           | Selected through --wlcores command line |
+   |   |              |                | argument                                |
+   +---+--------------+----------------+-----------------------------------------+
+   | 4 | nb_ports     | nb_workers +   | Workers use port 0 to port n.           |
+   |   |              | nb_producers   | Producers use port n+1 to port n+m,     |
+   |   |              |                | depending on the Rx adapter capability. |
+   +---+--------------+----------------+-----------------------------------------+
+
+.. _figure_eventdev_pipeline_atq_test_generic:
+
+.. figure:: img/eventdev_pipeline_atq_test_generic.*
+
+.. _figure_eventdev_pipeline_atq_test_lockfree:
+
+.. figure:: img/eventdev_pipeline_atq_test_lockfree.*
+
+   pipeline atq test operation.
+
+The pipeline atq test configures the eventdev with Q queues and P ports,
+where Q and P is a function of the number of workers, the number of producers
+and number of stages as mentioned in :numref:`table_eventdev_pipeline_atq_test`.
+
+The atq queue test functions as same as ``pipeline_queue`` test. The difference
+is, It uses, ``all type queue scheme`` instead of separate queues for each
+stage and thus reduces the number of queues required to realize the use case.
+
+
+Application options
+^^^^^^^^^^^^^^^^^^^
+
+Supported application command line options are following::
+
+        --verbose
+        --dev
+        --test
+        --socket_id
+        --pool_sz
+        --wlcores
+        --stlist
+        --worker_deq_depth
+        --prod_type_ethdev
+
+
+.. Note::
+
+    * The ``--prod_type_ethdev`` is mandatory for running this test.
+
+Example
+^^^^^^^
+
+Example command to run pipeline queue test:
+
+.. code-block:: console
+
+    sudo build/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \
+        --test=pipeline_atq --wlcore=1 --prod_type_ethdev --stlist=a