From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 75338A0350; Wed, 1 Jul 2020 01:15:55 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 151F81BF81; Wed, 1 Jul 2020 01:15:55 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130088.outbound.protection.outlook.com [40.107.13.88]) by dpdk.org (Postfix) with ESMTP id BE0BE1BF7D for ; Wed, 1 Jul 2020 01:15:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aOY8EmBLzKJbd52pGDvyzjZmZ0BVh+u5KGoEpVEhfSk=; b=dHHTeOHb6wJaflTOlQf7Qpu0Bn3ASITADIN0ejZ76gLFt5/0yaUwJHvQgv9k5D4LcqPrLs6+nKS+aaWJSToGcX0svUvSLYSG9yLEOwGEAviSrPCvaLf2c9fIU8joYoLmx3oo3Zmz5GEUIgVmC4U5trrTUjmq2WB6Ph4gYFFoWa0= Received: from AM5PR0601CA0082.eurprd06.prod.outlook.com (2603:10a6:206::47) by AM6PR08MB3399.eurprd08.prod.outlook.com (2603:10a6:20b:47::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.21; Tue, 30 Jun 2020 23:15:52 +0000 Received: from AM5EUR03FT041.eop-EUR03.prod.protection.outlook.com (2603:10a6:206:0:cafe::7f) by AM5PR0601CA0082.outlook.office365.com (2603:10a6:206::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.21 via Frontend Transport; Tue, 30 Jun 2020 23:15:52 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT041.mail.protection.outlook.com (10.152.17.186) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20 via Frontend Transport; Tue, 30 Jun 2020 23:15:51 +0000 Received: ("Tessian outbound a2971499bb33:v61"); Tue, 30 Jun 2020 23:15:51 +0000 X-CR-MTA-TID: 64aa7808 Received: from 0d3cc7db825d.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 88B6B7B7-8DC0-4D2D-A6AB-1C1D6B532217.1; Tue, 30 Jun 2020 23:15:46 +0000 Received: from EUR03-AM5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0d3cc7db825d.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 30 Jun 2020 23:15:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c0rtOTWkYQpH+LEKk7C0VCnwQJgkJ1+tlwfSFnILqVmvUIF7kUlVznaTGQK3epD4tjQm8TdW9SJL+25Ck1s8WmT2WjQnM2ElUOMEUc2G3wehecLXC8D2w/NOKOooLzLJEqSeF0O217dZtwLkTWURRrPu/Etmr4xQNHOzOfs5Krjip00n/HAJ3oZwlmGthYjmXvHH/97om9ymzC7np6zssbDHHjJdYvXjCg6W0z1QOo37QnzajFvOsI3ReGAsh9jnIIaiLVzrZgoFSWmSWCNkDcE9hk9JBUOY1PTkh1j0Mo/PkBacNKnJsNHMwoku+3Nk/JbImlROTyvfKHyKK5KDWg== 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-SenderADCheck; bh=aOY8EmBLzKJbd52pGDvyzjZmZ0BVh+u5KGoEpVEhfSk=; b=CpYZKt3uu0p16VQDZVkqnwIkEaFOQM9TdygNMdQtYyFWgTPJXYS+ppksyoklfR5xVyiA4Oe8jaCBqNyonGy6n6KO9VVy5KiBlGom+90QQcFWJ677EGBsHjNz0JAcbo8Lzkg3jo1kMRHSYpz0y5IGpAbw4ogjxWnu9/gZ68qCTVLRWblNZJ7f5Wn8LIsLBSxLLoXrj7NmOBVvboI6/3V7is3cNpyq52KAqz0pMbLbhrsE1ko9XQkt+QWPIPfsRmA3svF3/Nt1DvWfZWL8pPUpIeJKL8BQ2mEC4GlnbLtCLBOxHFCT+1kAW8W11WH1ENm/iYDKUY9ciHLXZQxc18tbYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aOY8EmBLzKJbd52pGDvyzjZmZ0BVh+u5KGoEpVEhfSk=; b=dHHTeOHb6wJaflTOlQf7Qpu0Bn3ASITADIN0ejZ76gLFt5/0yaUwJHvQgv9k5D4LcqPrLs6+nKS+aaWJSToGcX0svUvSLYSG9yLEOwGEAviSrPCvaLf2c9fIU8joYoLmx3oo3Zmz5GEUIgVmC4U5trrTUjmq2WB6Ph4gYFFoWa0= Received: from DB6PR0802MB2216.eurprd08.prod.outlook.com (2603:10a6:4:85::9) by DB7PR08MB3785.eurprd08.prod.outlook.com (2603:10a6:10:32::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Tue, 30 Jun 2020 23:15:44 +0000 Received: from DB6PR0802MB2216.eurprd08.prod.outlook.com ([fe80::9d1d:207b:e89d:199d]) by DB6PR0802MB2216.eurprd08.prod.outlook.com ([fe80::9d1d:207b:e89d:199d%10]) with mapi id 15.20.3131.029; Tue, 30 Jun 2020 23:15:44 +0000 From: Honnappa Nagarahalli To: "thomas@monjalon.net" , Jerin Jacob , Konstantin Ananyev , "jerinj@marvell.com" , =?iso-8859-1?Q?Morten_Br=F8rup?= CC: "dev@dpdk.org" , Olivier Matz , David Christensen , Stephen Hemminger , Honnappa Nagarahalli , nd , nd Thread-Topic: [dpdk-dev] [RFC] ring: make ring implementation non-inlined Thread-Index: AQHV/tZzUpwBiYbYokCUOdBtW0b+sKhjaboEgI8A2nA= Date: Tue, 30 Jun 2020 23:15:43 +0000 Message-ID: References: <20200320164138.8510-1-konstantin.ananyev@intel.com> <98CBD80474FA8B44BF855DF32C47DC35C60F05@smartserver.smartshare.dk> <2445314.H8VbNj7W2P@xps> In-Reply-To: <2445314.H8VbNj7W2P@xps> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: b5cb4046-c4ff-48c4-a5be-b4c70cafbeb8.0 x-checkrecipientchecked: true Authentication-Results-Original: monjalon.net; dkim=none (message not signed) header.d=none; monjalon.net; dmarc=none action=none header.from=arm.com; x-originating-ip: [217.140.110.7] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 5df9bcdf-3dce-4b87-6fdc-08d81d4b885c x-ms-traffictypediagnostic: DB7PR08MB3785:|AM6PR08MB3399: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; x-forefront-prvs: 0450A714CB X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: g4PQ8OfNQWfcGvlMMXQLAsvR+BjEZ1jFoof0sMkC4kkogHpsFeNti/w2S9xNZST4ippMBDkhbsQkHjZOEInzFGVdsqzQIvRuDY5xTe561MOuI52XFuw8ixc/2FIXpWpmw2/TtW246jvyZBWMh5GS5kyBIq6qlKhml6XieMOnUCvpPIY+LRqPP3/YVhJoBWJPpj7K7Y0OxpVV/8vDHRF/rLAUXkjlfMEI2ALXDUFnp0bnbkZvuvej4J3UMSnTWlvBoTl67f+IbAXeLFS03tx053Yn6nI+o6EyzUkq66aWXER0GYgQxXHSpTLsKic2254ZKzhW0iclBry0CB5IoN6PIdoOBfsrzUVcZZgNbzV4to6cywWmZw+Qzl2lGUXhkabtm93zpK1wJkwZHJPA+EOlNA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0802MB2216.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(396003)(366004)(376002)(346002)(136003)(39860400002)(8936002)(186003)(71200400001)(26005)(55016002)(2906002)(4326008)(66574015)(76116006)(9686003)(316002)(110136005)(54906003)(6506007)(7696005)(86362001)(64756008)(66446008)(66946007)(66556008)(66476007)(478600001)(966005)(52536014)(33656002)(83380400001)(5660300002)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: HgH7v7Eg29tbk1khhGg0mbqnjAmG0xuYebkzjSpbM8kx5Kfp/3DTVPu5JzJL1GEYM1VYVE/sFlDNipDrvaod8XpVjCICMXTjCeTLSkJsEas/RK0G5Q7flftlMoxSKb66OJjT0SnJIsGu4TGxIZnm6JIqNZ4+9WWgDvwGd2CTfEYdFsaPm8cQHOdDXLLhoIStMSCrFWPYyORy8AwhJORktFwljMYMhvsmChWT6TMzShaBpDOn8oZjHRxGpoTJwAmoUo5ONiZ1CMIXfIBXhKQRSPCNnRS8UNrouH5vhrs1IX9E8d51ApE4ZFG5/PFsxrsf++mbAje3DoUbNqWil9UG1Tnns5bo1O71DQMq1l81Chgzsoas3JJwb3ElI3lju1l1yeroqddaubUr0ZOC4OcjXKASA9EK0SSgb6Sr2ltWZpu7Ne+hNd2Q8EGNwhWg914m79BpHmz4BeD10uykgoAjZjf0d4GE60WyNiqjqlj5PFeAFz41FsmLQtHWUU8M5vgM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3785 Original-Authentication-Results: monjalon.net; dkim=none (message not signed) header.d=none; monjalon.net; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT041.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(4636009)(376002)(346002)(136003)(396003)(39860400002)(46966005)(4326008)(8676002)(8936002)(966005)(478600001)(36906005)(66574015)(7696005)(81166007)(316002)(47076004)(82310400002)(82740400003)(83380400001)(54906003)(110136005)(6506007)(2906002)(5660300002)(336012)(52536014)(26005)(186003)(70586007)(9686003)(70206006)(356005)(86362001)(33656002)(55016002); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: c1c990fd-3402-494f-b1fd-08d81d4b83a6 X-Forefront-PRVS: 0450A714CB X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xuWC+5zfXVRIkv15C3QZGHhFhtHMCUY4kNsj0Z8pxbnR6NZOHGbdVJmzWzV2ikGGVKWPsVko8rkVsEMmLhYXcE9s90ZjdCLmmA09tzkcl3fzUpLQc6BunOoPXPvLYv7IiRWUMrv7O/En/qP0PsEk2XExttCoPCukx9rtUcWJ9zXcWFWuRB6hoa/zf7XQgDwZcZLi/ULxaQ23Ufm1StsDA8754ql/sBa34c7fwpUAaBLsTMEdDZE6gLzHg76Kllyzfq5lExnq4GFbZbNlL+Gy7R0xetuLYvVGl9uu4xzxDHw3GrtkHUy9rh96tGafuKAaiPSANtnhAfxsEVW03bRgR55XjFG3SkJLy9yiSPxsXGUJo2RNuG8cLPyMC3bvCYDIA3HkzicAUSgUoqKjzMNxTVSJOsM/+f4fuK8PNgvTMeSPrxwDG8MKOcudBWOuY9hezWxAH3awQphnxnWYJpQD7QsAginUHWI6/+UDfjUCvaY= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2020 23:15:51.9827 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5df9bcdf-3dce-4b87-6fdc-08d81d4b885c X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT041.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3399 Subject: Re: [dpdk-dev] [RFC] ring: make ring implementation non-inlined X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" > Subject: Re: [dpdk-dev] [RFC] ring: make ring implementation non-inlined >=20 > 26/03/2020 09:04, Morten Br=F8rup: > > From: Jerin Jacob > > > On Fri, Mar 20, 2020 Konstantin Ananyev wrote: > > > > > > > > As was discussed here: > > > > http://mails.dpdk.org/archives/dev/2020-February/158586.html > > > > this RFC aimed to hide ring internals into .c and make all ring > > > > functions non-inlined. In theory that might help to maintain ABI > > > > stability in future. > > > > This is just a POC to measure the impact of proposed idea, proper > > > > implementation would definetly need some extra effort. > > > > On IA box (SKX) ring_perf_autotest shows ~20-30 cycles extra for > > > > enqueue+dequeue pair. On some more realistic code, I suspect > > > > the impact it might be a bit higher. > > > > For MP/MC bulk transfers degradation seems quite small, though for > > > > SP/SC and/or small transfers it is more then noticable (see exact > > > > numbers below). > > > > From my perspective we'd probably keep it inlined for now to avoid > > > > any non-anticipated perfomance degradations. > > > > Though intersted to see perf results and opinions from other > > > > interested parties. > > > > > > +1 >=20 > Konstantin, thank you for doing some measures >=20 >=20 > > > My reasoning is a bit different, DPDK is using in embedded boxes too > > > where performance has more weight than ABI stuff. > > > > As a network appliance vendor I can confirm that we certainly care > > more about performance than ABI stability. > > ABI stability is irrelevant for us; > > and API instability is a non-recurring engineering cost each time we > > choose to switch to a new DPDK version, which we only do if we cannot > > avoid it, e.g. due to new drivers, security fixes or new features that > > we want to use. > > > > For us, the trend pointed in the wrong direction when DPDK switched > > the preference towards runtime configurability and deprecated compile > > time configurability. I do understand the reasoning behind it, and the > > impact is minimal, so we accept it. >=20 > The code can be optimized by removing some instructions with #ifdef. > But the complexity of managing #ifdef enabling/disabling, depending on th= e > platform and the use case, would be huge. > We try to have a reasonable code "always enabled" which performs well in = all > cases. This is a design choice which makes DPDK a library, not a pool of = code > to cherry-pick. >=20 > > However, if DPDK starts sacrificing performance of the core libraries > > for the benefits of the GNU/Linux distributors, network appliance > > vendors may put more effort into sticking with old DPDK versions > > instead of updating. >=20 > The initial choice regarding ABI compatibility was "do not care". > Recently, the decision was done to care about ABI compatibility as priori= ty > number 2. The priority number 1 remains the performance. > That's a reason for allowing some ABI breakages in some specific releases > announced in advance. >=20 > > > I think we need to focus first on slow path APIs ABI stuff. >=20 > Yes we should not degrade fast path performance for the sake of avoiding > uncertain future ABI issues. >=20 > Morten, Jerin, thank you for the feedback. I think we have a consensus here not to make any changes to inline function= s for now. Should we mark this as 'Deferred or Rejected'? >=20