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 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 ; 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 , CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , References: <20210922140953.19388-1-konstantin.ananyev@intel.com> <20211001140255.5726-1-konstantin.ananyev@intel.com> From: Ferruh Yigit X-User: ferruhy Message-ID: 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: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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: . > > 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 +#include #include #ifdef RTE_LIB_TELEMETRY #include > 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 > <...>