From: Jerin Jacob <jerinjacobk@gmail.com>
To: Abdullah Sevincer <abdullah.sevincer@intel.com>
Cc: dev@dpdk.org, jerinj@marvell.com, bruce.richardson@intel.com,
pravin.pathak@intel.com, mattias.ronnblom@ericsson.com,
manish.aggarwal@intel.com
Subject: Re: [PATCH v13 2/3] event/dlb2: add support for independent enqueue
Date: Sat, 5 Oct 2024 12:32:29 +0530 [thread overview]
Message-ID: <CALBAE1N0bJVk7Rt6EekaqfXcO2mAV6mGZzFhV5p8xJc2yZvSgg@mail.gmail.com> (raw)
In-Reply-To: <20241003203658.4090323-3-abdullah.sevincer@intel.com>
On Fri, Oct 4, 2024 at 6:34 PM Abdullah Sevincer
<abdullah.sevincer@intel.com> wrote:
>
> DLB devices need events to be enqueued in the same order they are
> dequeued. Applications are not suppose to change event order between
> dequeue and to enqueue. Since Eventdev standard does not add such
> restrictions independent enqueue support is needed for DLB PMD so that
> it restores dequeue order on enqueue if applications happen to change
> it. It also adds missing releases in places where events are dropped
> by the application and it expects implicit release to handle it.
>
> By default the feature will be off on all DLB ports and they will
> behave the same as older releases. To enable reordering feature,
> applications need to add the flag RTE_EVENT_PORT_CFG_INDEPENDENT_ENQ
> to port configuration if only the device advertises the capability
> RTE_EVENT_DEV_CAP_INDEPENDENT_ENQ.
>
> Signed-off-by: Abdullah Sevincer <abdullah.sevincer@intel.com>
> Acked-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
> ---
> doc/guides/prog_guide/eventdev/eventdev.rst | 33 ++
> doc/guides/rel_notes/release_24_11.rst | 5 +
> drivers/event/dlb2/dlb2.c | 490 +++++++++++++-------
> drivers/event/dlb2/dlb2_avx512.c | 27 +-
> drivers/event/dlb2/dlb2_inline_fns.h | 8 +
> drivers/event/dlb2/dlb2_priv.h | 25 +-
> drivers/event/dlb2/rte_pmd_dlb2.h | 24 +
> 7 files changed, 422 insertions(+), 190 deletions(-)
>
> diff --git a/doc/guides/prog_guide/eventdev/eventdev.rst b/doc/guides/prog_guide/eventdev/eventdev.rst
> index fb6dfce102..dd22ab69d2 100644
> --- a/doc/guides/prog_guide/eventdev/eventdev.rst
> +++ b/doc/guides/prog_guide/eventdev/eventdev.rst
> +Independent Enqueue Capability
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +Some eventdev hardware devices such as DLB2 expects all forwarded events to be
Remove DLB2 from _generic+ documentation. Instead, express with capability.
> +enqueued in the same order as they are dequeued. For dropped events, their
> +releases should come at the same location as the original event was expected.
> +Hardware has this restriction as it uses the order to retrieve information about
> +the original event that was sent to the CPU. This contains information like atomic flow
> +ID to release the flow lock and ordered events sequence number to restore the
> +original order.
> +
> +Some applications, like those based on the DPDK dispatcher library, want
> +enqueue order independence. To support this, DLB2 PMD supports the
Remove DLB2 from generic documentation.
> +``RTE_EVENT_DEV_CAP_INDEPENDENT_ENQ`` capability.
> +
> +This capability applies to Eventdevs supporting burst mode. On ports where
> +the application is going to change enqueue order,
> +``RTE_EVENT_PORT_CFG_INDEPENDENT_ENQ`` support should be enabled.
> +
> +Example code to inform PMD that the application plans to use independent enqueue
> +order on a port:
> +
> + .. code-block:: c
> +
> + if (capability & RTE_EVENT_DEV_CAP_INDEPENDENT_ENQ)
> + port_config = port_config | RTE_EVENT_PORT_CFG_INDEPENDENT_ENQ;
> +
--------------------
AS MENTIONED IN THE LAST comment, Please move this section to 1/3 patch.
> +This code example enables enqueue event reordering inside DLB2 PMD before the events
> +are sent to the DLB2 hardware. If the application is not going to change the enqueue
> +order, this flag should not be enabled to get better performance. DLB2 PMD saves
> +ordering information inside the impl_opaque field of the event, and this field should
> +be preserved for all FORWARD or RELEASE events.
This section is a candidate for DLB2 specific documentation. DONT ADD IN
doc/guides/prog_guide/eventdev/eventdev.rst instead move any DLB2
specific documentation
DLB2 specific document if needed.
> +
> Stopping the EventDev
> ~~~~~~~~~~~~~~~~~~~~~
>
> diff --git a/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst
> index dee6723b70..98e9732100 100644
> --- a/doc/guides/rel_notes/release_24_11.rst
> +++ b/doc/guides/rel_notes/release_24_11.rst
> @@ -72,6 +72,11 @@ New Features
> * Added support for independent enqueue feature. Updated Event Device and
> PMD feature list.
>
> + * Updated DLB2 driver for independent enqueue feature. Applications should
> + use ``RTE_EVENT_PORT_CFG_INDEPENDENT_ENQ`` to enable the feature if the
> + capability ``RTE_EVENT_DEV_CAP_INDEPENDENT_ENQ`` exists.
Starting from “Applications ...” is not specific to DLB2, remove from
release notes.
Please send the next version on Monday, planning to submit rc1 PR on Tuesday.
next prev parent reply other threads:[~2024-10-05 7:02 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-21 20:12 [PATCH v1 0/2] DLB Enqueue Reorder Support Abdullah Sevincer
2024-06-21 20:12 ` [PATCH v1 1/2] event/dlb2: add support for enqueue reordering Abdullah Sevincer
2024-06-21 20:51 ` [PATCH v2 0/2] DLB Enqueue Reorder Support Abdullah Sevincer
2024-06-21 20:51 ` [PATCH v2 1/2] event/dlb2: add support for enqueue reordering Abdullah Sevincer
2024-06-21 20:51 ` [PATCH v2 2/2] eventdev: add support for enqueue reorder Abdullah Sevincer
2024-06-21 22:24 ` [PATCH v3 0/2] DLB Enqueue Reorder Support Abdullah Sevincer
2024-06-21 22:24 ` [PATCH v3 1/2] event/dlb2: add support for enqueue reordering Abdullah Sevincer
2024-06-21 22:24 ` [PATCH v3 2/2] eventdev: add support for enqueue reorder Abdullah Sevincer
2024-06-24 8:28 ` Jerin Jacob
2024-06-26 18:31 ` Sevincer, Abdullah
2024-06-27 13:13 ` Jerin Jacob
2024-07-01 8:24 ` Mattias Rönnblom
2024-07-01 8:50 ` Mattias Rönnblom
2024-07-02 17:25 ` Pathak, Pravin
2024-07-11 3:20 ` Pathak, Pravin
2024-07-10 1:20 ` [PATCH v4 0/3] Independent Enqueue Support Abdullah Sevincer
2024-07-10 1:20 ` [PATCH v4 1/3] event/dlb2: add support for independent enqueue Abdullah Sevincer
2024-07-10 1:20 ` [PATCH v4 2/3] eventdev: " Abdullah Sevincer
2024-07-10 1:20 ` [PATCH v4 3/3] event/dsw: add capability " Abdullah Sevincer
2024-07-10 6:33 ` [PATCH v5 0/3] Independent Enqueue Support Abdullah Sevincer
2024-07-10 6:33 ` [PATCH v5 1/3] event/dlb2: add support for independent enqueue Abdullah Sevincer
2024-07-10 6:33 ` [PATCH v5 2/3] eventdev: " Abdullah Sevincer
2024-07-10 6:33 ` [PATCH v5 3/3] event/dsw: add capability " Abdullah Sevincer
2024-07-11 19:54 ` [PATCH v6 0/3] Independent Enqueue Support Abdullah Sevincer
2024-07-11 19:54 ` [PATCH v6 1/3] event/dlb2: add support for independent enqueue Abdullah Sevincer
2024-07-11 19:54 ` [PATCH v6 2/3] eventdev: " Abdullah Sevincer
2024-07-23 6:40 ` Mattias Rönnblom
2024-07-29 13:49 ` Pathak, Pravin
2024-08-13 15:00 ` Sevincer, Abdullah
2024-08-20 16:48 ` Sevincer, Abdullah
2024-08-12 18:41 ` [PATCH v7 0/3] Independent Enqueue Support Abdullah Sevincer
2024-08-12 18:41 ` [PATCH v7 1/3] event/dlb2: add support for independent enqueue Abdullah Sevincer
2024-08-12 18:41 ` [PATCH v7 2/3] eventdev: " Abdullah Sevincer
2024-08-12 18:41 ` [PATCH v7 3/3] event/dsw: add capability " Abdullah Sevincer
2024-08-12 20:00 ` [PATCH v8 0/3] Independent Enqueue Support Abdullah Sevincer
2024-08-12 20:00 ` [PATCH v8 1/3] event/dlb2: add support for independent enqueue Abdullah Sevincer
2024-08-12 20:00 ` [PATCH v8 2/3] eventdev: " Abdullah Sevincer
2024-08-23 11:02 ` Mattias Rönnblom
2024-08-24 20:41 ` Pathak, Pravin
2024-08-27 18:33 ` Sevincer, Abdullah
2024-08-28 16:45 ` Mattias Rönnblom
2024-08-28 16:59 ` Sevincer, Abdullah
2024-08-29 12:51 ` Jerin Jacob
2024-08-31 18:38 ` Sevincer, Abdullah
2024-08-29 17:36 ` [PATCH v9 0/3] Independent Enqueue Support Abdullah Sevincer
2024-08-29 17:36 ` [PATCH v9 1/3] event/dlb2: add support for independent enqueue Abdullah Sevincer
2024-08-29 17:36 ` [PATCH v9 2/3] eventdev: " Abdullah Sevincer
2024-08-29 17:36 ` [PATCH v9 3/3] event/dsw: add capability " Abdullah Sevincer
2024-08-30 16:23 ` [PATCH v10 0/3] Independent Enqueue Support Abdullah Sevincer
2024-08-30 16:23 ` [PATCH v10 1/3] event/dlb2: add support for independent enqueue Abdullah Sevincer
2024-09-09 1:47 ` fengchengwen
2024-09-16 17:51 ` Sevincer, Abdullah
2024-09-09 15:52 ` [PATCH v11 0/3] Independent Enqueue Support Abdullah Sevincer
2024-09-09 15:52 ` [PATCH v11 1/3] eventdev: add support for independent enqueue Abdullah Sevincer
2024-09-19 10:32 ` Jerin Jacob
2024-09-09 15:52 ` [PATCH v11 2/3] event/dlb2: " Abdullah Sevincer
2024-09-09 15:52 ` [PATCH v11 3/3] event/dsw: add capability " Abdullah Sevincer
2024-09-09 16:05 ` [PATCH v12 0/3] Independent Enqueue Support Abdullah Sevincer
2024-09-09 16:05 ` [PATCH v12 1/3] eventdev: add support for independent enqueue Abdullah Sevincer
2024-09-09 16:05 ` [PATCH v12 2/3] event/dlb2: " Abdullah Sevincer
2024-09-19 10:49 ` [EXTERNAL] " Jerin Jacob
2024-10-03 20:36 ` [PATCH v13 0/3] Independent Enqueue Support Abdullah Sevincer
2024-10-03 20:36 ` [PATCH v13 1/3] eventdev: add support for independent enqueue Abdullah Sevincer
2024-10-03 20:36 ` [PATCH v13 2/3] event/dlb2: " Abdullah Sevincer
2024-10-05 7:02 ` Jerin Jacob [this message]
2024-10-03 20:36 ` [PATCH v13 3/3] event/dsw: add capability " Abdullah Sevincer
2024-10-03 20:49 ` [PATCH v14 0/3] Independent Enqueue Support Abdullah Sevincer
2024-10-03 20:50 ` [PATCH v14 1/3] eventdev: add support for independent enqueue Abdullah Sevincer
2024-10-05 6:51 ` Jerin Jacob
2024-10-03 20:50 ` [PATCH v14 2/3] event/dlb2: " Abdullah Sevincer
2024-10-03 20:50 ` [PATCH v14 3/3] event/dsw: add capability " Abdullah Sevincer
2024-09-09 16:05 ` [PATCH v12 " Abdullah Sevincer
2024-09-19 10:49 ` Jerin Jacob
2024-08-30 16:23 ` [PATCH v10 2/3] eventdev: add support " Abdullah Sevincer
2024-08-30 16:23 ` [PATCH v10 3/3] event/dsw: add capability " Abdullah Sevincer
2024-08-12 20:00 ` [PATCH v8 " Abdullah Sevincer
2024-08-23 11:03 ` Mattias Rönnblom
2024-07-11 19:54 ` [PATCH v6 " Abdullah Sevincer
2024-07-23 6:41 ` Mattias Rönnblom
2024-06-21 20:12 ` [PATCH v1 2/2] eventdev: add support for enqueue reorder Abdullah Sevincer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CALBAE1N0bJVk7Rt6EekaqfXcO2mAV6mGZzFhV5p8xJc2yZvSgg@mail.gmail.com \
--to=jerinjacobk@gmail.com \
--cc=abdullah.sevincer@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
--cc=manish.aggarwal@intel.com \
--cc=mattias.ronnblom@ericsson.com \
--cc=pravin.pathak@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).