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 56F22A0566; Mon, 8 Mar 2021 18:10:02 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 366EF22A434; Mon, 8 Mar 2021 18:10:02 +0100 (CET) Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) by mails.dpdk.org (Postfix) with ESMTP id 6EEBD22A433 for ; Mon, 8 Mar 2021 18:10:01 +0100 (CET) Received: by mail-io1-f47.google.com with SMTP id f20so10694709ioo.10 for ; Mon, 08 Mar 2021 09:10:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Qw+hkP64i8e1SYUpzTsBOTZpHoThcFT+/oSJefeSj0o=; b=sfC9yNYWzPbB8ic3XwGRN7iVVhvaF5Xlmbn49fEdIxle3C8QPHOWGtjMkcVoSGXSBf qM/srUuXLTiBiCUFP0rzUsx19OxT7/h+BaykgyKGES9064gZs5gFCzJwsk65wht1Yx4e O6KwDHAuvnBC6wRsP3fouofu7YH0zKvJWiCwCxBYKo1nDkCxD2DTGDjjOcLWqzcAiqaL vORA9Z6a4PVLIxbhPmVHUGMElgzXVCJtCVzMTZtDSpid1psfCAqvQ/DnjaVPna7rZTCX tG05wdRlQFI05RgsNRPNwA81S2/L74RMEnGP9LljNpqQItS7+E/rTUE+ManbXM+Oaajf TWig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Qw+hkP64i8e1SYUpzTsBOTZpHoThcFT+/oSJefeSj0o=; b=DnfRg53YB+9e7+M4vMuGlPWNGylXRSGsqZc6LJF/TVItTd6iqNFfH8zl+iPcxoLaAU QOOqjHYyv46ptW5btQm6dHJWpWmQhMPLFy+b+gW/5TGm12/+tz7z5bRjH4/fM8WNSKw/ uJhk9e8CUx2SMGu5xUIQGgAhhD9/g4wnqbBQvKAxkfgBuENR9tHGxRvUnp3t2FbVn1yd 6nU8SwghHoZpauUvMrqsv35GHTwnTh3gygsQqRhGM5iDK5LYdIXdbMhBY1V8GMA2uAXg 0n4Lkxlg3yBE/VCUuc3ApiT9TxmWWIjukXLH2dFbom/HQidktqNDcEj/EISK5rPiy7II XcNw== X-Gm-Message-State: AOAM531r2v9xw47qfj2FXjsD4d5sg+LxMU5B9jDxjkkQbh4GOpsDjrdC JgXMpvy9RBCZma8rcq4yofJBFwmiz6x3fNw6B9Y= X-Google-Smtp-Source: ABdhPJxqTMHGw2TURF/SOwGscCdRLxw3xZKjtuDYSonXlCCMCuf0aTw+ieuUi7oNCWxHM28yW9YCowKsHood5wZlhCo= X-Received: by 2002:a6b:3bc7:: with SMTP id i190mr19890038ioa.163.1615223400796; Mon, 08 Mar 2021 09:10:00 -0800 (PST) MIME-Version: 1.0 References: <20210220220957.4583-1-pbhagavatula@marvell.com> <20210220220957.4583-4-pbhagavatula@marvell.com> In-Reply-To: <20210220220957.4583-4-pbhagavatula@marvell.com> From: Jerin Jacob Date: Mon, 8 Mar 2021 22:39:44 +0530 Message-ID: To: Pavan Nikhilesh Cc: Jerin Jacob , "Jayatheerthan, Jay" , Erik Gabriel Carrillo , "Gujjar, Abhinandan S" , "McDaniel, Timothy" , Hemant Agrawal , "Van Haaren, Harry" , =?UTF-8?Q?Mattias_R=C3=B6nnblom?= , Liang Ma , dpdk-dev Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH 3/7] eventdev: introduce event vector Tx capability 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 Sender: "dev" On Sun, Feb 21, 2021 at 3:40 AM wrote: > > From: Pavan Nikhilesh > > Introduce event vector transmit capability for event eth > tx adapter. > > The capability indicates that the Tx adapter is capable of > transmitting event vectors. > When rte_event_vector::union_valid is set, the Tx adapter should > transmit all the packets to the rte_event_vector::port using the > rte_event_vector::queue. > If rte_event_vector::union_valid is not set then the Tx adapter > should peek into each mbuf to get the destination port and queue > pair. > > Signed-off-by: Pavan Nikhilesh Acked-by: Jerin Jacob > --- > doc/guides/prog_guide/event_ethernet_tx_adapter.rst | 12 ++++++++++++ > lib/librte_eventdev/rte_eventdev.h | 8 +++++++- > 2 files changed, 19 insertions(+), 1 deletion(-) > > diff --git a/doc/guides/prog_guide/event_ethernet_tx_adapter.rst b/doc/guides/prog_guide/event_ethernet_tx_adapter.rst > index a8c13e136..87277dcaf 100644 > --- a/doc/guides/prog_guide/event_ethernet_tx_adapter.rst > +++ b/doc/guides/prog_guide/event_ethernet_tx_adapter.rst > @@ -164,3 +164,15 @@ The ``rte_event_eth_tx_adapter_stats_get()`` function reports counters defined > in struct ``rte_event_eth_tx_adapter_stats``. The counter values are the sum of > the counts from the eventdev PMD callback if the callback is supported, and > the counts maintained by the service function, if one exists. > + > +Tx event vectorization > +~~~~~~~~~~~~~~~~~~~~~~ > + > +The event device, ethernet device paris which support the capability > +``RTE_EVENT_ETH_TX_ADAPTER_CAP_EVENT_VECTOR`` can process event vector of mbufs. > +Additionally, application can provide a hint to that Tx adapter that all the > +mbufs are destined to the same ethernet port and queue by setting the bit > +``rte_event_vector::attr_valid`` and filling `rte_event_vector::port`` and > +``rte_event_vector::queue``. > +If ``rte_event_vector::attr_valid`` is not set then the Tx adapter should peek > +into each mbuf and transmit them to the requested ethernet port and queue pair. > diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h > index 1cf3efa2d..c817c29e6 100644 > --- a/lib/librte_eventdev/rte_eventdev.h > +++ b/lib/librte_eventdev/rte_eventdev.h > @@ -926,11 +926,13 @@ struct rte_event_vector { > /**< Indicates that the below union attributes have valid information. > */ > union { > - /* Used by Rx adapter. > + /* Used by Rx/Tx adapter. > * Indicats that all the elements in this vector belong to same > * port and queue pair when originating from Rx adapter, valid > * only when event type is ETHDEV_VECTOR or > * ETH_RX_ADAPTER_VECTOR. > + * Can also be used to indicate the Tx adapter the destination > + * port and queue of the mbufs in the vector > */ > struct { > uint16_t port; > @@ -1287,6 +1289,10 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id, > #define RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT 0x1 > /**< This flag is sent when the PMD supports a packet transmit callback > */ > +#define RTE_EVENT_ETH_TX_ADAPTER_CAP_EVENT_VECTOR 0x2 > +/**< Indicates that the Tx adapter is capable of handling event vector of > + * mbufs. > + */ > > /** > * Retrieve the event device's eth Tx adapter capabilities > -- > 2.17.1 >