DPDK patches and discussions
 help / color / mirror / Atom feed
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.

  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).