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 85A4C437A3; Wed, 27 Dec 2023 18:41:22 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1552A402B0; Wed, 27 Dec 2023 18:41:22 +0100 (CET) Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mails.dpdk.org (Postfix) with ESMTP id 7D5B24029C for ; Wed, 27 Dec 2023 18:41:20 +0100 (CET) Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-1d4751dcb56so5177835ad.1 for ; Wed, 27 Dec 2023 09:41:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1703698879; x=1704303679; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=GrTc6K/CCDOrK6wuvWo/UVA7FGW6D01oXcviJcjRzwI=; b=LrE+G2S4vqYqJogBpN+Fb9sDfpn/Kz8JidXVrG/yQ2WctDDBX68PtJTdGUtMzTqzLg 6CDoN8JungEYuTwm12g2wDfqesuLKeMnomlj56snFNj9BE2x+MSpVkybmxzB/R+j08gt 69+AuaImdr/EnTgg/PG+/vsG3AtMKeUbuOeiD9z7H7oeNIhHeyqAB8UEsPBWJ7NDag7t CqNcPjOLbLfdfq7oyaBWjzA0teqBB52r0b4Pm7sPCIjpmDAbZATQsSYSfQ/PuxQGkFK3 xrjHI4gLbyCpBxO8zP8HXFda0XuX5yvHRFppdCuLPtJcfkVcNgCvFm38fvcY9jUsprqb jpAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703698879; x=1704303679; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GrTc6K/CCDOrK6wuvWo/UVA7FGW6D01oXcviJcjRzwI=; b=BqtZI09YNF5MBMsyHYfGFnQ4jDbhtniqMuWQxZNa+3e/3PdDH2ICqR/JHq2Rd8BL7K 5SrqGWFp0BIffSyoeWqz1rdmtbF4+PO6OtA1Mlo3hEYQ4MCH/bA4hwK8DDl3XGnqy7lg m5DLBrajjyA6uoLkU7inIgvrYsM8yq0spF+xntY1KjQbrsMtBJ/nxGr6+XCu7jDfd511 PMXUXjspi9clbkd7rzRwjFgr9Dd6/yIBj1QryhemHRPVSanTauNfCmeNHiNxvfqMF+UR l+zZMoDi6IcGZC0w85R1366TIRyyXyQdSfkkFQu4D5TLfTBWz9D+R9COXDjhv14VNuER kviA== X-Gm-Message-State: AOJu0Yxa4lUNMeduhZ5rqZ38sGLh5i74ypHIs1GDADtLLCBb3NaMP+Ap GbjHMYxMFIJ3zasng/7ievEfM+HZh9Ph8g== X-Google-Smtp-Source: AGHT+IFSRgMSe5ziyRUKjTV+eMVuC7Iff1z33dYp66djIPeXzCCWhCxQTvH9usmveheLHt4N1C/MbA== X-Received: by 2002:a17:903:1251:b0:1d0:b095:9acc with SMTP id u17-20020a170903125100b001d0b0959accmr4225586plh.22.1703698879693; Wed, 27 Dec 2023 09:41:19 -0800 (PST) Received: from hermes.local (204-195-123-141.wavecable.com. [204.195.123.141]) by smtp.gmail.com with ESMTPSA id 6-20020a170902e9c600b001d0b32ec81esm12278668plk.79.2023.12.27.09.41.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Dec 2023 09:41:19 -0800 (PST) Date: Wed, 27 Dec 2023 09:41:17 -0800 From: Stephen Hemminger To: Dariusz Sosnowski Cc: Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , "Ori Kam" , Subject: Re: [RFC] ethdev: fast path async flow API Message-ID: <20231227094117.678ce828@hermes.local> In-Reply-To: <20231227105709.1951231-1-dsosnowski@nvidia.com> References: <20231227105709.1951231-1-dsosnowski@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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 Wed, 27 Dec 2023 12:57:09 +0200 Dariusz Sosnowski wrote: > +/** > + * @internal > + * > + * Fast path async flow functions and related data are held in a flat array, one entry per ethdev. > + * It is assumed that each entry is read-only and cache aligned. > + */ > +struct rte_flow_fp_ops { > + void *ctx; > + rte_flow_async_create_t async_create; > + rte_flow_async_create_by_index_t async_create_by_index; > + rte_flow_async_actions_update_t async_actions_update; > + rte_flow_async_destroy_t async_destroy; > + rte_flow_push_t push; > + rte_flow_pull_t pull; > + rte_flow_async_action_handle_create_t async_action_handle_create; > + rte_flow_async_action_handle_destroy_t async_action_handle_destroy; > + rte_flow_async_action_handle_update_t async_action_handle_update; > + rte_flow_async_action_handle_query_t async_action_handle_query; > + rte_flow_async_action_handle_query_update_t async_action_handle_query_update; > + rte_flow_async_action_list_handle_create_t async_action_list_handle_create; > + rte_flow_async_action_list_handle_destroy_t async_action_list_handle_destroy; > + rte_flow_async_action_list_handle_query_update_t async_action_list_handle_query_update; > +} __rte_cache_aligned; If you go ahead with this then all usage should be const pointer. Still think it is bad idea and creates even more technical debt.