[v3,10/10] event/dsw: include DSW event device documentation
Checks
Commit Message
The DSW event device is documented in DPDK Programmer's Guide.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
doc/guides/eventdevs/dsw.rst | 97 ++++++++++++++++++++++++++++++++++
doc/guides/eventdevs/index.rst | 1 +
2 files changed, 98 insertions(+)
create mode 100644 doc/guides/eventdevs/dsw.rst
Comments
-----Original Message-----
> Date: Tue, 11 Sep 2018 10:02:16 +0200
> From: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
> To: jerin.jacob@caviumnetworks.com
> CC: bruce.richardson@intel.com, dev@dpdk.org, Mattias Rönnblom
> <mattias.ronnblom@ericsson.com>
> Subject: [PATCH v3 10/10] event/dsw: include DSW event device documentation
> X-Mailer: git-send-email 2.17.1
>
>
> The DSW event device is documented in DPDK Programmer's Guide.
>
> Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
> ---
> doc/guides/eventdevs/dsw.rst | 97 ++++++++++++++++++++++++++++++++++
> doc/guides/eventdevs/index.rst | 1 +
> 2 files changed, 98 insertions(+)
> create mode 100644 doc/guides/eventdevs/dsw.rst
>
> diff --git a/doc/guides/eventdevs/dsw.rst b/doc/guides/eventdevs/dsw.rst
> new file mode 100644
> index 000000000..de41ae9d3
> --- /dev/null
> +++ b/doc/guides/eventdevs/dsw.rst
> @@ -0,0 +1,97 @@
> +.. SPDX-License-Identifier: BSD-3-Clause
> + Copyright(c) 2017 Intel Corporation.
Is adding Intel copyright by intention?
> + Copyright(c) 2018 Ericsson AB
> +
> +Distributed Software Eventdev Poll Mode Driver
> +==============================================
> +
> +The distributed software eventdev is a parallel implementation of the
s/parallel/driver??
> +eventdev API, which distributes the task of scheduling events among
> +all the eventdev ports and the lcore threads using them.
> +
Please update MAINTAINERS and doc/guides/rel_notes/release_18_11.rst
files.
With above changes:
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
if there are no other review comments then I will push next revision v4 to next-eventdev.
Thanks,
Jerin
On 2018-09-17 14:29, Jerin Jacob wrote:
>> diff --git a/doc/guides/eventdevs/dsw.rst b/doc/guides/eventdevs/dsw.rst
>> new file mode 100644
>> index 000000000..de41ae9d3
>> --- /dev/null
>> +++ b/doc/guides/eventdevs/dsw.rst
>> @@ -0,0 +1,97 @@
>> +.. SPDX-License-Identifier: BSD-3-Clause
>> + Copyright(c) 2017 Intel Corporation.
>
> Is adding Intel copyright by intention?
>
dsw.rst is a derived work of sw.rst, so I figured I should leave the
Intel copyright. But maybe that's not needed?
>> + Copyright(c) 2018 Ericsson AB
>> +
>> +Distributed Software Eventdev Poll Mode Driver
>> +==============================================
>> +
>> +The distributed software eventdev is a parallel implementation of the
>
> s/parallel/driver??
>
I'm not sure I follow. What do you mean?
"Parallel" here is as in executing on multiple CPU cores.
I could always add "driver".
Regards,
Mattias
-----Original Message-----
> Date: Mon, 17 Sep 2018 21:17:34 +0200
> From: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
> To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> CC: bruce.richardson@intel.com, dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3 10/10] event/dsw: include DSW event
> device documentation
> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
> Thunderbird/52.9.1
>
> External Email
>
> On 2018-09-17 14:29, Jerin Jacob wrote:
>
> > > diff --git a/doc/guides/eventdevs/dsw.rst b/doc/guides/eventdevs/dsw.rst
> > > new file mode 100644
> > > index 000000000..de41ae9d3
> > > --- /dev/null
> > > +++ b/doc/guides/eventdevs/dsw.rst
> > > @@ -0,0 +1,97 @@
> > > +.. SPDX-License-Identifier: BSD-3-Clause
> > > + Copyright(c) 2017 Intel Corporation.
> >
> > Is adding Intel copyright by intention?
> >
>
> dsw.rst is a derived work of sw.rst, so I figured I should leave the
> Intel copyright. But maybe that's not needed?
Looks so.
>
> > > + Copyright(c) 2018 Ericsson AB
> > > +
> > > +Distributed Software Eventdev Poll Mode Driver
> > > +==============================================
> > > +
> > > +The distributed software eventdev is a parallel implementation of the
> >
> > s/parallel/driver??
> >
>
> I'm not sure I follow. What do you mean?
>
> "Parallel" here is as in executing on multiple CPU cores.
I read "Parallel" as "alternative" on that context. So I think you can
elaborate a bit, like ending sentence "where scheduler is executing on
multiple CPU cores" or something similar what you like to add more
clarity.
>
> I could always add "driver".
OK.
>
> Regards,
> Mattias
new file mode 100644
@@ -0,0 +1,97 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2017 Intel Corporation.
+ Copyright(c) 2018 Ericsson AB
+
+Distributed Software Eventdev Poll Mode Driver
+==============================================
+
+The distributed software eventdev is a parallel implementation of the
+eventdev API, which distributes the task of scheduling events among
+all the eventdev ports and the lcore threads using them.
+
+Features
+--------
+
+Queues
+ * Atomic
+ * Parallel
+ * Single-Link
+
+Ports
+ * Load balanced (for Atomic, Ordered, Parallel queues)
+ * Single Link (for single-link queues)
+
+Configuration and Options
+-------------------------
+
+The distributed software eventdev is a vdev device, and as such can be
+created from the application code, or from the EAL command line:
+
+* Call ``rte_vdev_init("event_dsw0")`` from the application
+
+* Use ``--vdev="event_dsw0"`` in the EAL options, which will call
+ rte_vdev_init() internally
+
+Example:
+
+.. code-block:: console
+
+ ./your_eventdev_application --vdev="event_dsw0"
+
+Limitations
+-----------
+
+Unattended Ports
+~~~~~~~~~~~~~~~~
+
+The distributed software eventdev uses an internal signaling schema
+between the ports to achieve load balancing. In order for this to
+work, the application must perform enqueue and/or dequeue operations
+on all ports.
+
+Producer-only ports which currently have no events to enqueue should
+periodically call rte_event_enqueue_burst() with a zero-sized burst.
+
+Ports left unattended for longer periods of time will prevent load
+balancing, and also cause traffic interruptions on the flows which
+are in the process of being migrated.
+
+Output Buffering
+~~~~~~~~~~~~~~~~
+
+For efficiency reasons, the distributed software eventdev might not
+send enqueued events immediately to the destination port, but instead
+store them in an internal buffer in the source port.
+
+In case no more events are enqueued on a port with buffered events,
+these events will be sent after the application has performed a number
+of enqueue and/or dequeue operations.
+
+For explicit flushing, an application may call
+rte_event_enqueue_burst() with a zero-sized burst.
+
+
+Priorities
+~~~~~~~~~~
+
+The distributed software eventdev does not support event priorities.
+
+Ordered Queues
+~~~~~~~~~~~~~~
+
+The distributed software eventdev does not support the ordered queue type.
+
+
+"All Types" Queues
+~~~~~~~~~~~~~~~~~~
+
+The distributed software eventdev does not support queues of type
+RTE_EVENT_QUEUE_CFG_ALL_TYPES, which allow both atomic, ordered, and
+parallel events on the same queue.
+
+Dynamic Link/Unlink
+~~~~~~~~~~~~~~~~~~~
+
+The distributed software eventdev does not support calls to
+rte_event_port_link() or rte_event_port_unlink() after
+rte_event_dev_start() has been called.
@@ -14,5 +14,6 @@ application trough the eventdev API.
dpaa
dpaa2
sw
+ dsw
octeontx
opdl