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 E1D1B43A2D; Tue, 6 Feb 2024 23:22:01 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6FA60402E1; Tue, 6 Feb 2024 23:22:01 +0100 (CET) Received: from fout2-smtp.messagingengine.com (fout2-smtp.messagingengine.com [103.168.172.145]) by mails.dpdk.org (Postfix) with ESMTP id 022E9402CE for ; Tue, 6 Feb 2024 23:21:59 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailfout.nyi.internal (Postfix) with ESMTP id 4BE9A138006A; Tue, 6 Feb 2024 17:21:59 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 06 Feb 2024 17:21:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1707258119; x=1707344519; bh=KAYzhqS1z46+7miW7BiI51NSXQCkkjBjI1cNylyQLqg=; b= PSw7YYE4+Pu5ce7qsK5HMlfPppP9wI1Nin3EjFxnFO6d3+Wp5XzPdVgSzGyEXKjb AEtD2zbntq7i6fNHU/o3atnU2LP8lSni1iwYdCCEzSAU9PxOYm9NP1HxfuLBbhnD qlBGHoXC8ZwT0aLdAckn4YUjXJnJtZbv/MRT2M9CyQF0+gcTp30vTUKH5J5P/est cbsS0s3ceX+T+m4IZIFJvLMczz4nWfsPFE29mEJwABGNQaemAU2rmB8ZQxsLLBQm e61FwFJgykkY15Wn7eKQ9kS6m+SSLssp8WHJrClN3o6YbJl3OQswKkDrXDdeh/XJ crrfbuH7+bFCUswAtx/I+A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1707258119; x= 1707344519; bh=KAYzhqS1z46+7miW7BiI51NSXQCkkjBjI1cNylyQLqg=; b=B NyrqXHFHH/n019Hdv1bvEw7BqEYafSj7tcMTDhHa4kokIascFbJxjhSfIRgy+uqC KaZboeEKowBQphcwRCKrljDvw7MLv/kmdAqGcDKNBbgITo8gTCDfBn7puChwYlQ6 OoEEQHcjM0RKQ49ceNJ1/0+8pKvhxcg/3uHFESt/nHqoQoeInNItn/KAzjrCV8w5 JrGM2jizkSszd0trQ8Iycpkk47IF0HkYISSLrUwU3OXH/iVCLSMeZHHcVmfCm0vD /pgTwa299uK+yjoQ2Vzd+zqtNlVhn73CfaMnNK4kJ8a6alK2pz5wNnzMNIAB0kFk +YPze/ml1O79bLTFP5OFw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrtddtgdduvdelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhm rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc ggtffrrghtthgvrhhnpedtjeeiieefhedtfffgvdelteeufeefheeujefgueetfedttdei kefgkeduhedtgfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 6 Feb 2024 17:21:57 -0500 (EST) From: Thomas Monjalon To: Dariusz Sosnowski Cc: Matan Azrad , Viacheslav Ovsiienko , Ori Kam , Suanming Mou , Ferruh Yigit , Andrew Rybchenko , dev@dpdk.org Subject: Re: [PATCH v3] ethdev: fast path async flow API Date: Tue, 06 Feb 2024 23:21:55 +0100 Message-ID: <13882742.RDIVbhacDa@thomas> In-Reply-To: <20240206173631.2310255-1-dsosnowski@nvidia.com> References: <20240131093523.1553028-1-dsosnowski@nvidia.com> <20240206173631.2310255-1-dsosnowski@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" 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 06/02/2024 18:36, Dariusz Sosnowski: > --- a/doc/guides/nics/build_and_test.rst > +++ b/doc/guides/nics/build_and_test.rst > +- ``RTE_FLOW_DEBUG`` (default **disabled**; enabled automatically on debug builds) > + > + Build with debug code in asynchronous flow APIs. > + > .. Note:: > > - The ethdev library use above options to wrap debug code to trace invalid parameters > + The ethdev library uses above options to wrap debug code to trace invalid parameters > on data path APIs, so performance downgrade is expected when enabling those options. > - Each PMD can decide to reuse them to wrap their own debug code in the Rx/Tx path. > + Each PMD can decide to reuse them to wrap their own debug code in the Rx/Tx path > + and in asynchronous flow APIs implementation. Good > --- a/doc/guides/rel_notes/release_24_03.rst > +++ b/doc/guides/rel_notes/release_24_03.rst > +* ethdev: PMDs implementing asynchronous flow operations are required to provide relevant functions > + implementation through ``rte_flow_fp_ops`` struct, instead of ``rte_flow_ops`` struct. > + Pointer to device-dependent ``rte_flow_fp_ops`` should be provided to ``rte_eth_dev.flow_fp_ops``. That's a change only for the driver. If there is no change for the application, it should not appear in the release notes. BTW, API means Application Programming Interface :) > + This change applies to the following API functions: > + > + * ``rte_flow_async_create`` > + * ``rte_flow_async_create_by_index`` > + * ``rte_flow_async_actions_update`` > + * ``rte_flow_async_destroy`` > + * ``rte_flow_push`` > + * ``rte_flow_pull`` > + * ``rte_flow_async_action_handle_create`` > + * ``rte_flow_async_action_handle_destroy`` > + * ``rte_flow_async_action_handle_update`` > + * ``rte_flow_async_action_handle_query`` > + * ``rte_flow_async_action_handle_query_update`` > + * ``rte_flow_async_action_list_handle_create`` > + * ``rte_flow_async_action_list_handle_destroy`` > + * ``rte_flow_async_action_list_handle_query_update`` > + > +* ethdev: Removed the following fields from ``rte_flow_ops`` struct: > + > + * ``async_create`` > + * ``async_create_by_index`` > + * ``async_actions_update`` > + * ``async_destroy`` > + * ``push`` > + * ``pull`` > + * ``async_action_handle_create`` > + * ``async_action_handle_destroy`` > + * ``async_action_handle_update`` > + * ``async_action_handle_query`` > + * ``async_action_handle_query_update`` > + * ``async_action_list_handle_create`` > + * ``async_action_list_handle_destroy`` > + * ``async_action_list_handle_query_update`` [...] > --- a/lib/ethdev/ethdev_driver.h > +++ b/lib/ethdev/ethdev_driver.h > @@ -71,6 +71,10 @@ struct rte_eth_dev { > struct rte_eth_dev_data *data; > void *process_private; /**< Pointer to per-process device data */ > const struct eth_dev_ops *dev_ops; /**< Functions exported by PMD */ > + /** > + * Fast path flow API functions exported by PMD. > + */ This comment may be on one single line. > + const struct rte_flow_fp_ops *flow_fp_ops; > struct rte_device *device; /**< Backing device */ > struct rte_intr_handle *intr_handle; /**< Device interrupt handle */ > --- a/lib/ethdev/meson.build > +++ b/lib/ethdev/meson.build > +if get_option('buildtype').contains('debug') > + cflags += ['-DRTE_FLOW_DEBUG'] > +endif This looks OK. Acked-by: Thomas Monjalon