From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.lysator.liu.se (mail.lysator.liu.se [130.236.254.3]) by dpdk.org (Postfix) with ESMTP id 14F3D1B19 for ; Mon, 10 Sep 2018 14:59:54 +0200 (CEST) Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 7EC1C40056 for ; Mon, 10 Sep 2018 14:59:53 +0200 (CEST) Received: by mail.lysator.liu.se (Postfix, from userid 1004) id 6C6654001D; Mon, 10 Sep 2018 14:59:53 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on bernadotte.lysator.liu.se X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=ALL_TRUSTED,AWL autolearn=disabled version=3.4.1 X-Spam-Score: -0.9 Received: from [192.168.1.59] (host-90-232-156-190.mobileonline.telia.com [90.232.156.190]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 38C354001A; Mon, 10 Sep 2018 14:59:52 +0200 (CEST) To: jerin.jacob@caviumnetworks.com Cc: bruce.richardson@intel.com, dev@dpdk.org References: <20180830142719.28569-1-mattias.ronnblom@ericsson.com> <20180830142719.28569-11-mattias.ronnblom@ericsson.com> From: =?UTF-8?Q?Mattias_R=c3=b6nnblom?= Message-ID: Date: Mon, 10 Sep 2018 14:59:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20180830142719.28569-11-mattias.ronnblom@ericsson.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Virus-Scanned: ClamAV using ClamSMTP Subject: Re: [dpdk-dev] [PATCH 10/10] eventdev: include DSW event device documentation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2018 12:59:54 -0000 Will DSW be included in 18.11? /M On 2018-08-30 16:27, Mattias Rönnblom wrote: > The DSW event device is documented in DPDK Programmer's Guide. > > Signed-off-by: Mattias Rönnblom > --- > 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. > + 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. > diff --git a/doc/guides/eventdevs/index.rst b/doc/guides/eventdevs/index.rst > index 18ec8e462..984eea5f4 100644 > --- a/doc/guides/eventdevs/index.rst > +++ b/doc/guides/eventdevs/index.rst > @@ -14,5 +14,6 @@ application trough the eventdev API. > dpaa > dpaa2 > sw > + dsw > octeontx > opdl >