From: Pavan Nikhilesh Date: Mon, 24 Sep 2018 08:02:20 +0000 (+0530) Subject: doc: update eventdev app guide for Tx adapter X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=a4f5612353e9fd724db7ad301da533285b4cad99;p=dpdk.git doc: update eventdev app guide for Tx adapter Update eventdev application guide to reflect Tx adapter related changes. Signed-off-by: Pavan Nikhilesh Acked-by: Jerin Jacob --- diff --git a/doc/guides/tools/img/eventdev_pipeline_atq_test_generic.svg b/doc/guides/tools/img/eventdev_pipeline_atq_test_generic.svg index e333679894..707b9b56b3 100644 --- a/doc/guides/tools/img/eventdev_pipeline_atq_test_generic.svg +++ b/doc/guides/tools/img/eventdev_pipeline_atq_test_generic.svg @@ -20,7 +20,7 @@ height="288.34286" id="svg3868" version="1.1" - inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" + inkscape:version="0.92.2 2405546, 2018-03-11" sodipodi:docname="eventdev_pipeline_atq_test_generic.svg" sodipodi:version="0.32" inkscape:output_extension="org.inkscape.output.svg.inkscape" @@ -42,22 +42,6 @@ d="M 5.77,0 -2.88,5 V -5 Z" id="path39725" /> - - - + gradientTransform="matrix(0.84881476,0,0,0.98593266,86.966576,5.0323108)" /> - - - - + + + + + + + + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + + + refY="0" + refX="0" + id="marker35935-1-6-5-1-0" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + style="fill:#ac14db;fill-opacity:1;fill-rule:evenodd;stroke:#ac14ff;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" + inkscape:connector-curvature="0" /> - + style="fill:#ac14db;fill-opacity:1;fill-rule:evenodd;stroke:#ac14ff;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" + inkscape:connector-curvature="0" /> + + + style="fill:#ac14db;fill-opacity:1;fill-rule:evenodd;stroke:#ac14ff;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" + inkscape:connector-curvature="0" /> + + + + style="fill:#ac14db;fill-opacity:1;fill-rule:evenodd;stroke:#ac14ff;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" + inkscape:connector-curvature="0" /> - - + + + + + + + + + port n+2 + style="font-size:10px;line-height:1.25">port n+1 port n+3 + style="font-size:10px;line-height:1.25">port n+2 total queues = number of ethernet dev + 1 + style="font-size:10px;line-height:1.25">total queues = 2 * number of ethernet dev + Event ethRx adptr 0 + Event ethRx adptr 1 + Event ethRx adptr q + + + + + (Tx Generic) + transform="translate(69.258261,-194.86398)"> Txq 0 + transform="translate(-12.211349,-3.253112)"> Txq 0 + transform="translate(-10.498979,-2.682322)"> Txq 0 - Event ethRx adptr 0 - Event ethRx adptr 1 - Event ethRx adptr q - - - Tx Serviceport n + 1 - - - - - + + x="502.77109" + y="189.40137" + id="tspan5223-0-9-02" + style="font-size:10px;line-height:1.25">port n+m+1 + Single link + style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient3995-8-9);stroke-width:1.2090857;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect87-6-5-3-79-1" + width="72.081367" + height="32.405426" + x="499.944" + y="226.74811" + rx="16.175425" + ry="16.202713" /> Single port n+m+2 + + Link Q + x="512.51819" + y="301.5791" + id="tspan5223-0-9-0-4-2" + style="font-size:10px;line-height:1.25">port n+o + (Tx Generic) + x="515.76257" + y="175.4832" + style="font-size:7.31033659px;line-height:1.25;stroke-width:0.88288933" + id="tspan883-1-9-7-6-3">Single link + Single link + Tx adapter + q3 + q4 + q5 diff --git a/doc/guides/tools/img/eventdev_pipeline_atq_test_internal_port.svg b/doc/guides/tools/img/eventdev_pipeline_atq_test_internal_port.svg new file mode 100644 index 0000000000..f4393327b9 --- /dev/null +++ b/doc/guides/tools/img/eventdev_pipeline_atq_test_internal_port.svg @@ -0,0 +1,3344 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + +   + + + + worker 0 + worker 1 + worker n + port 0 + port 1 + port n + + producer 0 + + q0 + + port n+1 + + test: pipeline_atq + + producer 1 + qs + + port n+2 + + + producer m-1 + q2s + + port n+m + + + + + total queues = number of ethernet dev + All workers are linked to all queues + eth port 1 Rxq 0 + eth port q Rxq 0 + eth port 0 Rxq 0 + + + + eth port 1 Txq 0 + + + + eth port 0 Txq 0 + + + + eth port q Txq 0 + + Event ethRx adptr 0 + Event ethRx adptr 1 + Event ethRx adptr q + + + + + + + + + + + + + + (Internal port) + + diff --git a/doc/guides/tools/img/eventdev_pipeline_atq_test_lockfree.svg b/doc/guides/tools/img/eventdev_pipeline_atq_test_lockfree.svg deleted file mode 100644 index d7f10de3e8..0000000000 --- a/doc/guides/tools/img/eventdev_pipeline_atq_test_lockfree.svg +++ /dev/null @@ -1,3344 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - -   - - - - worker 0 - worker 1 - worker n - port 0 - port 1 - port n - - producer 0 - - q0 - - port n+1 - - test: pipeline_atq - - producer 1 - qs - - port n+2 - - - producer m-1 - q2s - - port n+m - - - - - total queues = number of ethernet dev - All workers are linked to all queues - eth port 1 Rxq 0 - eth port q Rxq 0 - eth port 0 Rxq 0 - - - - eth port 1 Txq 0 - - - - eth port 0 Txq 0 - - - - eth port q Txq 0 - - Event ethRx adptr 0 - Event ethRx adptr 1 - Event ethRx adptr q - - - - - - - - - - - - - - (Tx Lock free) - - diff --git a/doc/guides/tools/img/eventdev_pipeline_queue_test_generic.svg b/doc/guides/tools/img/eventdev_pipeline_queue_test_generic.svg index 732d48867c..9fe743f3b0 100644 --- a/doc/guides/tools/img/eventdev_pipeline_queue_test_generic.svg +++ b/doc/guides/tools/img/eventdev_pipeline_queue_test_generic.svg @@ -20,13 +20,21 @@ height="288.34286" id="svg3868" version="1.1" - inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" + inkscape:version="0.92.2 2405546, 2018-03-11" sodipodi:docname="eventdev_pipeline_queue_test_generic.svg" sodipodi:version="0.32" inkscape:output_extension="org.inkscape.output.svg.inkscape" enable-background="new"> + + + @@ -1312,7 +1320,7 @@ x2="651.55652" y2="243.36557" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.76448972,0,0,0.86504892,-92.637138,19.716473)" /> + gradientTransform="matrix(0.76448972,0,0,0.78486608,-92.637138,48.19976)" /> - - - - - - - - - - - + + + + + + + + + + + + + + + + + producer 0 port n+2 + style="font-size:10px;line-height:1.25">port n+1 port n+3 + style="font-size:10px;line-height:1.25">port n+2 total queues = (number of stages * number of ethernet dev) + 1 + style="font-size:9.02731705px;line-height:1.25;stroke-width:0.90273178">total queues = (number of stages * number of ethernet dev) + number of ethernet dev worker 0 worker 1 worker n @@ -3309,7 +3391,7 @@ + transform="translate(87.401608,-194.91553)"> + transform="translate(5.9319927,-3.304662)"> + transform="translate(7.6443673,-2.7338705)"> Txq 0 - - - Tx Serviceport n + 1 - - - - - - SingleLink Q + (Tx Generic) + + port n+m+1 + Single link + + port n+m+2 + + port n+o + + + (Tx Generic) + x="536.09253" + y="175.43703" + style="font-size:7.31033659px;line-height:1.25;stroke-width:0.88288933" + id="tspan883-1-9-7-6-3">Single link + Single link + Tx adapter diff --git a/doc/guides/tools/img/eventdev_pipeline_queue_test_internal_port.svg b/doc/guides/tools/img/eventdev_pipeline_queue_test_internal_port.svg new file mode 100644 index 0000000000..3036ad6634 --- /dev/null +++ b/doc/guides/tools/img/eventdev_pipeline_queue_test_internal_port.svg @@ -0,0 +1,3826 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + producer 0 + + q0 + q1 + qs-2 + + port n+1 + + + test: pipeline_queue + + + + producer 1 + qs + qs+1 + q2s-2 + + port n+2 + + + + + + + producer m-1 + q2s + q2s+1 + q3s-2 + + port n+m + + + + + + total queues = (number of stages * number of ethernet dev) + number of ethernet dev + eth port 1 Rxq 0 + eth port q Rxq 0 + eth port 0 Rxq 0 + Event ethRx adptr 0 + Event ethRx adptr 1 + Event ethRx adptr q + + + + worker 0 + worker 1 + worker n + port 0 + port 1 + port n + + + eth port 1 Txq 0 + + + + eth port 0 Txq 0 + + + + eth port q Txq 0 + + + + + + + + + + + + + + qs-1 + q2s-1 + q3s-1 + Atomic Q + Atomic Q + Atomic Q + Stage0 Q + Stage1 Q + Stage2 Q + + + + + + + (Internal port) + All workers are linked to all queues + + diff --git a/doc/guides/tools/img/eventdev_pipeline_queue_test_lockfree.svg b/doc/guides/tools/img/eventdev_pipeline_queue_test_lockfree.svg deleted file mode 100644 index c0a365c7b9..0000000000 --- a/doc/guides/tools/img/eventdev_pipeline_queue_test_lockfree.svg +++ /dev/null @@ -1,3826 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - producer 0 - - q0 - q1 - qs-2 - - port n+1 - - - test: pipeline_queue - - - - producer 1 - qs - qs+1 - q2s-2 - - port n+2 - - - - - - - producer m-1 - q2s - q2s+1 - q3s-2 - - port n+m - - - - - - total queues = (number of stages * number of ethernet dev) + number of ethernet dev - eth port 1 Rxq 0 - eth port q Rxq 0 - eth port 0 Rxq 0 - Event ethRx adptr 0 - Event ethRx adptr 1 - Event ethRx adptr q - - - - worker 0 - worker 1 - worker n - port 0 - port 1 - port n - - - eth port 1 Txq 0 - - - - eth port 0 Txq 0 - - - - eth port q Txq 0 - - - - - - - - - - - - - - qs-1 - q2s-1 - q3s-1 - Atomic Q - Atomic Q - Atomic Q - Stage0 Q - Stage1 Q - Stage2 Q - - - - - - - (Tx Lock free) - All workers are linked to all queues - - diff --git a/doc/guides/tools/testeventdev.rst b/doc/guides/tools/testeventdev.rst index 46effd8714..cddba3be08 100644 --- a/doc/guides/tools/testeventdev.rst +++ b/doc/guides/tools/testeventdev.rst @@ -70,6 +70,8 @@ The following are the application command-line options: order_atq perf_queue perf_atq + pipeline_atq + pipeline_queue * ``--socket_id `` @@ -521,8 +523,9 @@ This is a pipeline test case that aims at testing the following: +===+==============+================+=========================================+ | 1 | nb_queues | (nb_producers | Queues will be configured based on the | | | | * nb_stages) + | user requested sched type list(--stlist)| - | | | x | Here value of x is 1 in generic pipeline| - | | | | and nb_producers in lockfree pipeline | + | | | nb_producers | At the last stage of the schedule list | + | | | | the event is enqueued onto per port | + | | | | unique queue which is then Transmitted. | +---+--------------+----------------+-----------------------------------------+ | 2 | nb_producers | >= 1 | Producers will be configured based on | | | | | the number of detected ethernet devices.| @@ -533,17 +536,19 @@ This is a pipeline test case that aims at testing the following: | | | | 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. | + | | | (nb_produces * | Producers use port n+1 to port n+m, | + | | | 2) | depending on the Rx adapter capability. | + | | | | Consumers use port n+m+1 to port n+o | + | | | | depending on the Tx adapter capability. | +---+--------------+----------------+-----------------------------------------+ .. _figure_eventdev_pipeline_queue_test_generic: .. figure:: img/eventdev_pipeline_queue_test_generic.* -.. _figure_eventdev_pipeline_queue_test_lockfree: +.. _figure_eventdev_pipeline_queue_test_internal_port: -.. figure:: img/eventdev_pipeline_queue_test_lockfree.* +.. figure:: img/eventdev_pipeline_queue_test_internal_port.* pipeline queue test operation. @@ -568,10 +573,11 @@ the last stage in the pipeline if the event type is ``atomic`` it is enqueued onto ethdev Tx queue else to maintain ordering the event type is set to ``atomic`` and enqueued onto the last stage queue. -If the ethernet has ``DEV_TX_OFFLOAD_MT_LOCKFREE`` capability then the worker -cores transmit the packets directly. Else the worker cores enqueue the packet -onto the ``SINGLE_LINK_QUEUE`` that is managed by a Tx service. The Tx service -dequeues the packet and transmits it. +If the ethdev and eventdev pair have ``RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT`` +capability then the worker cores enqueue the packets to the eventdev directly +using ``rte_event_eth_tx_adapter_enqueue`` else the worker cores enqueue the +packet onto the ``SINGLE_LINK_QUEUE`` that is managed by the Tx adapter. +The Tx adapter dequeues the packet and transmits it. On packet Tx, application increments the number events processed and print periodically in one second to get the number of events processed in one @@ -628,8 +634,9 @@ This is a pipeline test case that aims at testing the following with +===+==============+================+=========================================+ | 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 | + | | | | where x = nb_producers in generic | + | | | | pipeline and 0 if all the ethdev | + | | | | being used have Internal port capability| +---+--------------+----------------+-----------------------------------------+ | 2 | nb_producers | >= 1 | Producers will be configured based on | | | | | the number of detected ethernet devices.| @@ -640,17 +647,22 @@ This is a pipeline test case that aims at testing the following with | | | | 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. | + | | | nb_producers + | Producers use port n+1 to port n+m, | + | | | x | depending on the Rx adapter capability. | + | | | | x = nb_producers in generic pipeline and| + | | | | 0 if all the ethdev being used have | + | | | | Internal port capability. | + | | | | Consumers may use port n+m+1 to port n+o| + | | | | depending on the Tx adapter capability. | +---+--------------+----------------+-----------------------------------------+ .. _figure_eventdev_pipeline_atq_test_generic: .. figure:: img/eventdev_pipeline_atq_test_generic.* -.. _figure_eventdev_pipeline_atq_test_lockfree: +.. _figure_eventdev_pipeline_atq_test_internal_port: -.. figure:: img/eventdev_pipeline_atq_test_lockfree.* +.. figure:: img/eventdev_pipeline_atq_test_internal_port.* pipeline atq test operation.