From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 36B4BA0032;
	Fri,  1 Oct 2021 19:04:03 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 13207411C7;
	Fri,  1 Oct 2021 19:04:03 +0200 (CEST)
Received: from mga12.intel.com (mga12.intel.com [192.55.52.136])
 by mails.dpdk.org (Postfix) with ESMTP id 9C9A4411B7
 for <dev@dpdk.org>; Fri,  1 Oct 2021 19:04:01 +0200 (CEST)
X-IronPort-AV: E=McAfee;i="6200,9189,10124"; a="204982553"
X-IronPort-AV: E=Sophos;i="5.85,339,1624345200"; d="scan'208";a="204982553"
Received: from fmsmga008.fm.intel.com ([10.253.24.58])
 by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Oct 2021 10:02:56 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.85,339,1624345200"; d="scan'208";a="521221896"
Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81])
 by fmsmga008.fm.intel.com with ESMTP; 01 Oct 2021 10:02:54 -0700
Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by
 fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.12; Fri, 1 Oct 2021 10:02:54 -0700
Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by
 fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.12 via Frontend Transport; Fri, 1 Oct 2021 10:02:54 -0700
Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.46) by
 edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2242.12; Fri, 1 Oct 2021 10:02:54 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j8SwvFJdzEtLxb9pVARFewbGKpMdViIKfhsLy1aTfCxFj0KeAS5CdM6bCJXfTTeHScSV/XgWhEAv9DwItLAbszb+SHHl0fOSeAqE3lqWEwF2ms8z9NOcAfC9L7FlnREBdILouzejFLMMtc8SXzK42ShKCLpNl4IaxAiqz/XZWp/Ge1DU5wJ+elZPgjS3vdRnKQQrDVS5YfooYaq07KKX/1tbuCi1pRopjAYnGZEu08A024WvOY6oFBZ5gIR19szOhVA0fstn5bLsKEJn7cZ1f7aBfpXBYWo9MbNefKfHZjzRZWKtL/8vPKtJJK/Kl2EzL9alFW+/h6+fMf3wobvXlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nDP6b2C4GA8q8UXx72w5xsQXiEmpRU3BQfR44I2j+38=;
 b=k/qvfUI/k36bnJEHUohwaN59zpSEGAY9bE66vGS2+BlYOCCdocdY7uWy+nnczeBigpslp/iEuzEp4qJmSGfVz5JGNW6YKT+42j19wvPjmSKI5n4uOdmwYTBbGDQw15N18t6SgtfR8IKKcFHY+YWW+Y6G9hqJjYmozwlH3Q1B4goAaWwKE3O8nuVlwqR//kGKu8xVBs+2/Ymooz0fS2MQQrnBTCCpPPVh+guXNHIi131HY5X4E+/DW+xDCqWCq9R8VopXUMUVbacpBGdPwGAzspvLTwW3UtD0+7D3z8pBlLRgkkLeUiWQQESOdDbact5r+MfjDz6zsTGhEkGQ3l1yhw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; 
 s=selector2-intel-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nDP6b2C4GA8q8UXx72w5xsQXiEmpRU3BQfR44I2j+38=;
 b=pQwmJc+hJSOdXA34CoDjUSiCWdv6nu9rog+M15BZGnV1f3UuEuwc1yLAFGte8Ubp+S7Be9mh7dGGgdtujY0kdvE7SJpjHNfrIHeO0x9FI5kEDdFHPFD0QcY5ngyT8YkX+F6rYvV94g2bCwKxRPotD2hwqfGpoAY8h9tgNeqgJms=
Authentication-Results: intel.com; dkim=none (message not signed)
 header.d=none;intel.com; dmarc=none action=none header.from=intel.com;
Received: from PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19)
 by PH0PR11MB4808.namprd11.prod.outlook.com (2603:10b6:510:39::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.19; Fri, 1 Oct
 2021 17:02:47 +0000
Received: from PH0PR11MB5000.namprd11.prod.outlook.com
 ([fe80::747b:3a08:d1ec:31fc]) by PH0PR11MB5000.namprd11.prod.outlook.com
 ([fe80::747b:3a08:d1ec:31fc%4]) with mapi id 15.20.4566.019; Fri, 1 Oct 2021
 17:02:47 +0000
To: Konstantin Ananyev <konstantin.ananyev@intel.com>, <dev@dpdk.org>
CC: <xiaoyun.li@intel.com>, <anoobj@marvell.com>, <jerinj@marvell.com>,
 <ndabilpuram@marvell.com>, <adwivedi@marvell.com>,
 <shepard.siegel@atomicrules.com>, <ed.czeck@atomicrules.com>,
 <john.miller@atomicrules.com>, <irusskikh@marvell.com>,
 <ajit.khaparde@broadcom.com>, <somnath.kotur@broadcom.com>,
 <rahul.lakkireddy@chelsio.com>, <hemant.agrawal@nxp.com>,
 <sachin.saxena@oss.nxp.com>, <haiyue.wang@intel.com>, <johndale@cisco.com>,
 <hyonkim@cisco.com>, <qi.z.zhang@intel.com>, <xiao.w.wang@intel.com>,
 <humin29@huawei.com>, <yisen.zhuang@huawei.com>, <oulijun@huawei.com>,
 <beilei.xing@intel.com>, <jingjing.wu@intel.com>, <qiming.yang@intel.com>,
 <matan@nvidia.com>, <viacheslavo@nvidia.com>, <sthemmin@microsoft.com>,
 <longli@microsoft.com>, <heinrich.kuhn@corigine.com>,
 <kirankumark@marvell.com>, <andrew.rybchenko@oktetlabs.ru>,
 <mczekaj@marvell.com>, <jiawenwu@trustnetic.com>, <jianwang@trustnetic.com>,
 <maxime.coquelin@redhat.com>, <chenbo.xia@intel.com>, <thomas@monjalon.net>,
 <mdr@ashroe.eu>, <jay.jayatheerthan@intel.com>
References: <20210922140953.19388-1-konstantin.ananyev@intel.com>
 <20211001140255.5726-1-konstantin.ananyev@intel.com>
From: Ferruh Yigit <ferruh.yigit@intel.com>
X-User: ferruhy
Message-ID: <ec87f41e-c257-58f9-3ba7-6323b9d6f982@intel.com>
Date: Fri, 1 Oct 2021 18:02:34 +0100
In-Reply-To: <20211001140255.5726-1-konstantin.ananyev@intel.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: DU2PR04CA0035.eurprd04.prod.outlook.com
 (2603:10a6:10:234::10) To PH0PR11MB5000.namprd11.prod.outlook.com
 (2603:10b6:510:41::19)
MIME-Version: 1.0
Received: from [192.168.0.206] (37.228.236.146) by
 DU2PR04CA0035.eurprd04.prod.outlook.com (2603:10a6:10:234::10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4566.16 via Frontend Transport; Fri, 1 Oct 2021 17:02:39 +0000
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 29dd0759-c26a-457d-192f-08d984fd4b1c
X-MS-TrafficTypeDiagnostic: PH0PR11MB4808:
X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <PH0PR11MB4808B9ADAD3D5AECAEBAC3C195AB9@PH0PR11MB4808.namprd11.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: PcwHPNfZBJsv3USJCJCAI+l1YuFyyPHdFk4GrN3GmoQo6iz2UGjAtNyAZB3hyhmNJgS2sBfpthBApzEPyjRRratTb5SQiWUJxVoGBHXUZWyQsXV2iwKBCntLktHYtUxb870yLrbTqt4E1Wc5vPoTpm3jJJUnb7l9e1fRv7Qf9E1rCR/JzZ4N3634a9jc2rPptyYm3uAto1sSuRTOJ5zb4ovzYK32GgetP63BdOzZizDHxeTX/MF/scOAbIL4deUxUUIjmoHnV7kUVUoy7oJOnPMlNaDUtbEp5w3Q+ydANZmSFyKGQjlQd6Xt0kyzHvOjeEgNDuMb/31oVZ10i7SrRMX3IukLs73EtKmte+mZjqhx69LN+D03/DF81ltO9uIVFou1f9NqdbPkeF3KnD7pLQtC4tVBpR1+FagUjZU3Xl73tF7ks5dWdWIYsaIqrtsUYz6OeYowe6Ki8oYmVf7Y5N9YlOMrIDbQCdu+rWeqNhY6yeaNvk7bNtOxRZiNgBGpD99xwNqWY6kVjtONZMD2IOFXrsBPQFqmZX3pBv4Neb5adT0Z2Hw5b6tT3QO1nT1usqRIzPcW8KJMo6y0mAKtOsU/s0haf6Pg2rsxkt+bPeEyrziA/hdmUEX6IWBelcSl3AmGje7mULxiTKxCnt1wJ8KigdiDiVDVTWc3MesW7ESvZ1yWSYao69n6x0WnucaTcIGJVV7muLsjyZsNOuVfTZq0iZGOkb3fzTFVOl/BTFp68AUbZ+spOKaluyURyp5r2mqBj3shO1g5yVgznkLdrYDJjY25DHpVUrscOKAlef9l+2fZLZbcuMgrePMJjubGsB8LOe1hE+VyvaVZfQSVjw==
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:PH0PR11MB5000.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(366004)(31696002)(6666004)(83380400001)(966005)(36756003)(956004)(66946007)(8936002)(66476007)(86362001)(2616005)(66556008)(6486002)(508600001)(8676002)(186003)(4326008)(26005)(31686004)(16576012)(7416002)(53546011)(5660300002)(7406005)(2906002)(107886003)(316002)(38100700002)(44832011)(45980500001);
 DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?N1dDcjZwZkVoa3pab3h3U29rYUN6clVFT0hFWU5OMjZydCtEN0JkWi9CV2h0?=
 =?utf-8?B?TG5DQUhEZVd3N3NjUnFkRnJkM004QUtFL0RHekNqa05uN0lYMU1YbXVET1dN?=
 =?utf-8?B?bDN1TTFsVnRiTm9mTSt1YThYbjdBY1gxQSs1U0RqYklNWjJQZlQramt3RG45?=
 =?utf-8?B?Qi9JSG0vYklHZEplK2tUaXdERE5mSjdRRU5RMXJRbzdvSnNOQWdvc1ErdkUy?=
 =?utf-8?B?ajE3Q1dwckdUTWpKWUNEczFwb0NoMmxXR0F0bDl0RnBjMUR2b3RpMmFZRE1O?=
 =?utf-8?B?MTlLMi9QMTd3dHdpYUZLSFpqZXBabngyWG9WcGU2cFhCQ3FlNVl5dUltbStl?=
 =?utf-8?B?S2libFNWaGd2MXIzQWFkSEN0eDdBWHY5R0RHNU5VZXgwZWdkdU9PaXJrM0lH?=
 =?utf-8?B?VTBscDVZengxV2hEVDhEUHBxZ0xIVXhVdUtYejdqUWwyMmZ2azBCNU15M2Uv?=
 =?utf-8?B?VEJXOG5lK1ljSVJxeU5NS2NQRWVrZm5EaStubEhZOUVuU3lvT0w2aDJWZVFJ?=
 =?utf-8?B?KzNtZ3ZpMDBjZ1k4NEF4Vi9RNU94TGRLanZ0OFRjWHo1Y0JwZldEendJQ2s4?=
 =?utf-8?B?SWxDUWdxenNxWitZcmNpNEltaEpyY0tBUXFIcWp0ckhhK0VWSVBpTSttSUVz?=
 =?utf-8?B?NGNidUU5Q21DcGpVZm1nT0NEc2RGUmp0NGxXZk9RenF1RHFxYUhqemgrZmwr?=
 =?utf-8?B?L3BIaWlVaXJZMWpVeVhjelBHTlpJUHpjdGl4YWVjdVpvVnJiU2NpV2dJUmZY?=
 =?utf-8?B?cWZFY3FuQzFIUzRvc2E4RVVmRmx3ZHJySWo1WlBZdmF4RElnQ2piM0pBR3Q4?=
 =?utf-8?B?UXlZMjZtK21WUmY2Rmh2WnlBRmJHNXhhaTVGbG5qUlByZGZlOW5Lc0JwNnRy?=
 =?utf-8?B?S0FKV0RkMkJDdHJYa3QxMGRnY0h6Q29UQlcrRE8wdHhlTzZkUzFVY0NXekQx?=
 =?utf-8?B?NlpwSVhDTU81U3VDU1RxYkJGQkowc3c4Sk1YMFBTZklBK1Z1ckU5WXVqT09V?=
 =?utf-8?B?U3dLZDFCTDgraVdBOGpIbXFCQS9uOE1JaGlqdWZhTDRrMXpJVHZQNjhrbEVQ?=
 =?utf-8?B?dFRTNTVDaHR3YmlvRDJFREozL2k4SlpCZVlZNzBDSlZWaDRpdGtjcUpBM1lG?=
 =?utf-8?B?UllCWjROVmthSmp0eitJTDB6cWxpRTE2V3g1RTcyNnFvR09qQi9NUG9YOWdS?=
 =?utf-8?B?NTh0NkZJWVJmWlJnSTEvM2NvWWFHUFRNMFhmOVlDY2pEVWF3UGViOTZZUlFH?=
 =?utf-8?B?aVpMN3EzdGdMWkhqbU8wMnBpc0I3K0J5b1dNSXNrRmY5YXZldmx2aEZzc3Zp?=
 =?utf-8?B?OEd1c0ExbDNhNEsyd2ZVSDFWSVB2UndLS0RUei92Zkd3aVU2aURFSUdJMDht?=
 =?utf-8?B?MHJ5Q2dKMy81UjUvRkhtK1lwSHkrQ0dRejdqK3FZTjloYXJOa3A4aktMQlQy?=
 =?utf-8?B?RjB6L2dsNHdUMGdmS2x3bjk5SGhWT2w0aUs3ekdMSE84Q1Y0U3F1OGZZUGlB?=
 =?utf-8?B?NTFNTW55dXQ5NTltdCtqb1FFdDZlV2QxY2FMQXRYa3pYNklkRjJOdzZBVGFz?=
 =?utf-8?B?TVRtd1NzWFlwRk1NSElTayt5K3dPTlZiNm5LUGY0MklDTW5xSkcvckJON1Zt?=
 =?utf-8?B?bllHeFdyZG1HSnRXQXpUZDFZa3d3eTJzQURDL3lWRG9UaUVaWFhBQTgrejN3?=
 =?utf-8?B?SXJsWGRwWUxoUFhCblg1cDk4WG82L1g0bmtVY1M4YnU4bWRJTTVZMDROMDds?=
 =?utf-8?Q?ymdXAuFDwOrmBIsJr3Mo67sB9a6721l+rtgbGAY?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 29dd0759-c26a-457d-192f-08d984fd4b1c
X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5000.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2021 17:02:47.4029 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xVnL5HblXIm9o+wQw4tus6H4LJrDDwBZp3AVrPEPT4oMAOlRNDHAlbv1ZLSdPB195zv6jREOEI4aQlTpGvpUPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4808
X-OriginatorOrg: intel.com
Subject: Re: [dpdk-dev] [PATCH v3 0/7] hide eth dev related structures
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

On 10/1/2021 3:02 PM, Konstantin Ananyev wrote:
> v3 changes:
>  - Changes in public struct naming (Jerin/Haiyue)
>  - Split patches
>  - Update docs
>  - Shamelessly included Andrew's patch:
>    https://patches.dpdk.org/project/dpdk/patch/20210928154856.1015020-1-andrew.rybchenko@oktetlabs.ru/
>    into these series.
>    I have to do similar thing here, so decided to avoid duplicated effort.   
> 
> The aim of these patch series is to make rte_ethdev core data structures
> (rte_eth_dev, rte_eth_dev_data, rte_eth_rxtx_callback, etc.) internal to
> DPDK and not visible to the user.
> That should allow future possible changes to core ethdev related structures
> to be transparent to the user and help to improve ABI/API stability.
> Note that current ethdev API is preserved, but it is a formal ABI break.
> 
> The work is based on previous discussions at:
> https://www.mail-archive.com/dev@dpdk.org/msg211405.html
> https://www.mail-archive.com/dev@dpdk.org/msg216685.html
> and consists of the following main points:
> 1. Copy public 'fast' function pointers (rx_pkt_burst(), etc.) and
>    related data pointer from rte_eth_dev into a separate flat array.
>    We keep it public to still be able to use inline functions for these
>    'fast' calls (like rte_eth_rx_burst(), etc.) to avoid/minimize slowdown.
>    Note that apart from function pointers itself, each element of this
>    flat array also contains two opaque pointers for each ethdev:
>    1) a pointer to an array of internal queue data pointers
>    2)  points to array of queue callback data pointers.
>    Note that exposing this extra information allows us to avoid extra
>    changes inside PMD level, plus should help to avoid possible
>    performance degradation.
> 2. Change implementation of 'fast' inline ethdev functions
>    (rte_eth_rx_burst(), etc.) to use new public flat array.
>    While it is an ABI breakage, this change is intended to be transparent
>    for both users (no changes in user app is required) and PMD developers
>    (no changes in PMD is required).
>    One extra note - with new implementation RX/TX callback invocation
>    will cost one extra function call with this changes. That might cause
>    some slowdown for code-path with RX/TX callbacks heavily involved.
>    Hope such trade-off is acceptable for the community.
> 3. Move rte_eth_dev, rte_eth_dev_data, rte_eth_rxtx_callback and related
>    things into internal header: <ethdev_driver.h>.
> 
> That approach was selected to:
>   - Avoid(/minimize) possible performance losses.
>   - Minimize required changes inside PMDs.
>  

Overall +1 to the approach.

Only 'metrics' library is failing to build and it also needs to include driver
header:

diff --git a/lib/metrics/rte_metrics_telemetry.c
b/lib/metrics/rte_metrics_telemetry.c
index 269f8ef6135c..5be21b2e86c5 100644
--- a/lib/metrics/rte_metrics_telemetry.c
+++ b/lib/metrics/rte_metrics_telemetry.c
@@ -2,7 +2,7 @@
  * Copyright(c) 2020 Intel Corporation
  */

-#include <rte_ethdev.h>
+#include <ethdev_driver.h>
 #include <rte_string_fns.h>
 #ifdef RTE_LIB_TELEMETRY
 #include <telemetry_internal.h>

> Performance testing results (ICX 2.0GHz, E810 (ice)):
>  - testpmd macswap fwd mode, plus
>    a) no RX/TX callbacks:
>       no actual slowdown observed
>    b) bpf-load rx 0 0 JM ./dpdk.org/examples/bpf/t3.o:
>       ~2% slowdown
>  - l3fwd: no actual slowdown observed
> 
> Would like to thank Ferruh and Jerrin for reviewing and testing previous
> versions of these series. All other interested parties please don't be shy
> and provide your feedback.
> 
> Konstantin Ananyev (7):
>   ethdev: allocate max space for internal queue array
>   ethdev: change input parameters for rx_queue_count
>   ethdev: copy ethdev 'fast' API into separate structure
>   ethdev: make burst functions to use new flat array
>   ethdev: add API to retrieve multiple ethernet addresses
>   ethdev: remove legacy Rx descriptor done API
>   ethdev: hide eth dev related structures
> 

<...>