From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3CB7045ACD; Mon, 7 Oct 2024 09:20:12 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2BAA540E26; Mon, 7 Oct 2024 09:20:12 +0200 (CEST) Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) by mails.dpdk.org (Postfix) with ESMTP id 9BB8E40E22 for ; Mon, 7 Oct 2024 09:20:10 +0200 (CEST) Received: by mail-qt1-f180.google.com with SMTP id d75a77b69052e-4582f9abb43so29493011cf.2 for ; Mon, 07 Oct 2024 00:20:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1728285610; x=1728890410; darn=dpdk.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=zbLne0NRtWu4dGyM24wDgX0PXrR2xDreQnN8/hiitHc=; b=LN6OtyLf2/UJIPVHDbK0Z0//GBT7Y2u2DqGZdJczsErOcSjZwCmncgQwIwAQJYTep8 jN6Zi/z4+gtowY/lSuhChFC6s2wJvB0MgCBk0eMVVzqXPASJbecgxJ2B9in4hQnyA8Y2 MsGkjuQN0sq5Dl7axOrdHvW+k0NppsiRY2tFfT73n9Gct/rH7ejA2GX1haKS3ivPA3L+ V4PCPLc46dt5THZFq3UIZSOglxs4kQEzyVgDBIqxs9Gw9cbiW41FW36gPkt18/aoTJ/l CckB2G51NPfcJI4yE5oX4dBFVciSoan32hXrmOkMr3Syeo9TFNGxKS/qIyOOCdUpkG+2 RG6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728285610; x=1728890410; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zbLne0NRtWu4dGyM24wDgX0PXrR2xDreQnN8/hiitHc=; b=hZk0KKJi6seb2/+HgrZTiYPQq14WX0TaKgQjlHDWjMxkg2jmCkIluO+g3zrBFgJO8s hHgPV4xcqoK5O+yuRGdgCjYs0VENmTy3AIBNBmb2scQixYNTxZVC/8bMoARRwqwsf5na l1YFQt5xvP9leaT85/6SYt0DkXzt0iocdgXzIUp8kY5hyQoc37IPShCpummIlRQ2yRe3 yaqXJYmD9a2E8HnOdU2pIbYryE7hv68v1SpMZiDgsw2fEyNHIxQsBJ8SjnQ6Yj8Ra84Y 8Vx4p7U2L+jd+ZqV99mn8JYK2nsTEzJjrtea1Bn88dTCH6VCXEfMfsKYHEv+fXyZdnDf XbCA== X-Gm-Message-State: AOJu0YzBtE22AGFpkuHO8rSzW6W90jm87gJeL3DozqzLlN1JcmxAs+Bu 2gKqDi+zs6KfOhqtAJ7PbY3lbO1SUh+4ZE35vne41PrWM2vQwX4JDIjLjq6y3l32D0CcncO6UEW dxiftuL+dnm/G1T+ZYGjpDu8M+1k= X-Google-Smtp-Source: AGHT+IF11tCw6IaWMAf6ulErZTmEI0xRSaa38Etj1FrI8tsdIKSFr5JenrnUxnBWkW7UAbA2VSL9F82s6DUpzyCtN6Q= X-Received: by 2002:ac8:5a91:0:b0:457:c435:a5c2 with SMTP id d75a77b69052e-45d9bb825c5mr165942171cf.58.1728285609875; Mon, 07 Oct 2024 00:20:09 -0700 (PDT) MIME-Version: 1.0 References: <20241003205002.4090954-2-abdullah.sevincer@intel.com> <20241007020052.138760-1-abdullah.sevincer@intel.com> <20241007020052.138760-2-abdullah.sevincer@intel.com> In-Reply-To: <20241007020052.138760-2-abdullah.sevincer@intel.com> From: Jerin Jacob Date: Mon, 7 Oct 2024 12:49:43 +0530 Message-ID: Subject: Re: [PATCH v17 1/3] eventdev: add support for independent enqueue To: Abdullah Sevincer Cc: dev@dpdk.org, jerinj@marvell.com, bruce.richardson@intel.com, pravin.pathak@intel.com, mattias.ronnblom@ericsson.com, manish.aggarwal@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Mon, Oct 7, 2024 at 7:31=E2=80=AFAM Abdullah Sevincer wrote: > > Support for independent enqueue feature and updates Event Device > and PMD feature list. > > A new capability RTE_EVENT_DEV_CAP_INDEPENDENT_ENQ is introduced. It > allows out-of-order enqueuing of RTE_EVENT_OP_FORWARD or RELEASE type > events on an event port where this capability is enabled. > > To use this capability applications need to set flag > RTE_EVENT_PORT_CFG_INDEPENDENT_ENQ during port setup only if the > capability RTE_EVENT_DEV_CAP_INDEPENDENT_ENQ exists. > > Signed-off-by: Abdullah Sevincer > Acked-by: Mattias R=C3=B6nnblom > --- > doc/guides/eventdevs/features/default.ini | 1 + > doc/guides/eventdevs/features/dlb2.ini | 1 + > doc/guides/prog_guide/eventdev/eventdev.rst | 27 ++++++++++++++++++ > doc/guides/rel_notes/release_24_11.rst | 8 ++++++ > lib/eventdev/rte_eventdev.h | 31 +++++++++++++++++++++ > 5 files changed, 68 insertions(+) > > diff --git a/doc/guides/eventdevs/features/default.ini b/doc/guides/event= devs/features/default.ini > index 1cc4303fe5..7c4ee99238 100644 > --- a/doc/guides/eventdevs/features/default.ini > +++ b/doc/guides/eventdevs/features/default.ini > @@ -22,6 +22,7 @@ carry_flow_id =3D > maintenance_free =3D > runtime_queue_attr =3D > profile_links =3D > +independent_enq =3D > > ; > ; Features of a default Ethernet Rx adapter. > diff --git a/doc/guides/eventdevs/features/dlb2.ini b/doc/guides/eventdev= s/features/dlb2.ini Why adding dlb2.ini update in 1/3. Move to 2/3. Also add the same for DSW in 3/3. > index 7b80286927..c7193b47c1 100644 > --- a/doc/guides/eventdevs/features/dlb2.ini > +++ b/doc/guides/eventdevs/features/dlb2.ini > @@ -15,6 +15,7 @@ implicit_release_disable =3D Y > runtime_port_link =3D Y > multiple_queue_port =3D Y > maintenance_free =3D Y > +independent_enq =3D Y > > [Eth Rx adapter Features] > > diff --git a/doc/guides/prog_guide/eventdev/eventdev.rst b/doc/guides/pro= g_guide/eventdev/eventdev.rst > index fb6dfce102..ab53fe4e6c 100644 > --- a/doc/guides/prog_guide/eventdev/eventdev.rst > +++ b/doc/guides/prog_guide/eventdev/eventdev.rst > @@ -472,6 +472,33 @@ A flush callback can be passed to the function to ha= ndle any outstanding events. > > Invocation of this API does not affect the existing port configu= ration. > > +Independent Enqueue Capability > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > + > +This capability applies to eventdev devices that expects all forwarded e= vents to be > +enqueued in the same order as they are dequeued. For dropped events, the= ir > +releases should come at the same location as the original event was expe= cted. > +The eventdev device has this restriction as it uses the order to retriev= e information about > +the original event that was sent to the CPU. This contains information l= ike atomic > +flow ID to release the flow lock and ordered events sequence number to r= estore the > +original order. > + > +This capability only matters to eventdevs supporting burst mode. On port= s 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 =3D port_config | RTE_EVENT_PORT_CFG_INDEPENDENT_EN= Q; > + The below section does not have any code. It is an orphan section. Move _below section_(only below) along with code in 2/3 patch to doc/guides/eventdevs/dlb2.rst as it is not specific generic. > +This code example enables enqueue event reordering inside PMD before the= events > +are sent to the hardware. If the application is not going to change the = enqueue > +order, this flag should not be enabled to get better performance. PLEASE PAY SOME ATTENTION before sending the next version. I am repeating the same.