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 6573B43A9F; Wed, 7 Feb 2024 10:27:51 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 071BC40295; Wed, 7 Feb 2024 10:27:51 +0100 (CET) Received: from fout8-smtp.messagingengine.com (fout8-smtp.messagingengine.com [103.168.172.151]) by mails.dpdk.org (Postfix) with ESMTP id 9346140279 for ; Wed, 7 Feb 2024 10:27:49 +0100 (CET) Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailfout.nyi.internal (Postfix) with ESMTP id 0331D138009B; Wed, 7 Feb 2024 04:27:49 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Wed, 07 Feb 2024 04:27:49 -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=1707298068; x=1707384468; bh=h0ONLXGg5cCxi1s8dlhAQEzHtKSO/ppFrU0hY3QzFuw=; b= CRSQryh5legncoWX4TnoGAQazXMIooBVwB2bBr6a3ungPCI5filhlEKlrd5gqLl+ 6nEMW2RimW90x9Em7jh+lA0cZKEC1AACqrpNkw2UY11/6THPHc/LAjPvohQfiw+9 86IGrn407OScaikS6NtWncJ43buurE2QjTDpdGuaEXEWUia7S40+3Dtbx6+htVOc P7GKJQ05nop/Q1T4kW2iZccD/mcQm3o3s7eeK/ppL9uTyZUFie6eeMcbt9IySpyJ Qs+zum0C++zJ5Mn0d5KRYHFQWz0KfoAxB5VD+X3KhgJ/z2e8GTWKCeFLr4fd8nud O6ijUlHztj1W4U32VmFYoA== 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=1707298068; x= 1707384468; bh=h0ONLXGg5cCxi1s8dlhAQEzHtKSO/ppFrU0hY3QzFuw=; b=s CPtK91wnzm5Fo/ElR/LUpcErXv5V+I7rl1Sle7P9dttzGYNMAePdDrN4wwMvQJZe WTlmEqs7smaDQ+VW8mU/1Hgmipo6UUz+JZ6MgnBdOVdGgQ3CXpEzyNBoMUp8CXuX frMmQ4jxGK+YHFS5hJobqCnzBLxp3VRrbfBlUao4GBFc3iBP60FtBjDB7K92fMf6 S/MMeQmLehBbJbMtqGl/C5PG+2VJJueEVlQlFmaCWUcIqnfR3Xp3g+YWpdZL+cBb 4J4aYYtjjijbAzvgyI7LTlqIbMXZBKX0qSYB8Vr1TOIJ/yohtybEAfDH7MNatmtP Y32b5Xfh4qcVhwEmAqB/A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrtddvgddtvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvfevufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhhomhgr shcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecugg ftrfgrthhtvghrnheptdejieeifeehtdffgfdvleetueeffeehueejgfeuteeftddtieek gfekudehtdfgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 7 Feb 2024 04:27:47 -0500 (EST) From: Thomas Monjalon To: Dariusz Sosnowski , Ferruh Yigit Cc: Matan Azrad , Viacheslav Ovsiienko , Ori Kam , Suanming Mou , Andrew Rybchenko , dev@dpdk.org Subject: Re: [PATCH v3] ethdev: fast path async flow API Date: Wed, 07 Feb 2024 10:27:45 +0100 Message-ID: <2956397.VdNmn5OnKV@thomas> In-Reply-To: <2b0c7fe0-5713-4416-987e-34da0dc4aaef@amd.com> References: <20240131093523.1553028-1-dsosnowski@nvidia.com> <13882742.RDIVbhacDa@thomas> <2b0c7fe0-5713-4416-987e-34da0dc4aaef@amd.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 07/02/2024 01:57, Ferruh Yigit: > On 2/6/2024 10:21 PM, Thomas Monjalon wrote: > > 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 > > > > > > Acked-by: Ferruh Yigit > > Applied to dpdk-next-net/main, thanks. Ferruh, I was expecting a new version. Did you address yourself the comments above?