From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40064.outbound.protection.outlook.com [40.107.4.64]) by dpdk.org (Postfix) with ESMTP id 7500F1B4F2 for ; Wed, 17 Apr 2019 07:12:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gwrnlD9D59F/XarGT6bLo6P+WK+7qAH57jS8kGq52Wc=; b=YvNlz7e/bJKNtW2dSLlhTScXthMVCl/o/bs550Fez7fjCmr0YF+Y/oiG1+WTkL17JBimZ8bZEhYFlE12eLJ3E2ULfRq9oLsA/8xaxRlW3XasEbPNXMPuBXhZXK/2/tMVqOWRZAAcaD2QoZlO/lWLGvZ6b4PI5ADH4Xx/VXB2BFs= Received: from VE1PR08MB5149.eurprd08.prod.outlook.com (20.179.30.152) by VE1PR08MB4765.eurprd08.prod.outlook.com (10.255.113.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.19; Wed, 17 Apr 2019 05:12:43 +0000 Received: from VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::e0ae:ecad:ec5:8177]) by VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::e0ae:ecad:ec5:8177%2]) with mapi id 15.20.1792.018; Wed, 17 Apr 2019 05:12:43 +0000 From: Honnappa Nagarahalli To: "dev@dpdk.org" , Stephen Hemminger , "Ananyev, Konstantin" CC: "thomas@monjalon.net" , Ray Kinsella , nd , nd Thread-Topic: ABI and inline functions Thread-Index: AdT03C2s3ZB+VIuxS0mLCJ+6mgHcvg== Date: Wed, 17 Apr 2019 05:12:43 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; x-originating-ip: [217.140.111.135] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1247c65d-d1e4-4789-41b8-08d6c2f3528c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600140)(711020)(4605104)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:VE1PR08MB4765; x-ms-traffictypediagnostic: VE1PR08MB4765: x-ms-exchange-purlcount: 1 x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr nodisclaimer: True x-microsoft-antispam-prvs: x-forefront-prvs: 0010D93EFE x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(396003)(39860400002)(376002)(346002)(366004)(199004)(189003)(72206003)(4326008)(55016002)(26005)(14454004)(186003)(966005)(8676002)(486006)(81156014)(74316002)(6436002)(66066001)(5660300002)(3480700005)(7736002)(33656002)(476003)(305945005)(6306002)(81166006)(9686003)(2906002)(6506007)(71190400001)(25786009)(68736007)(86362001)(54906003)(256004)(71200400001)(97736004)(52536014)(53936002)(102836004)(7696005)(8936002)(106356001)(316002)(478600001)(2501003)(3846002)(105586002)(99286004)(6116002)(110136005)(533714002); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4765; H:VE1PR08MB5149.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: pgeySQTDZrwnOYJNgcjift5PQAq57yhmWO2lSQOTpGu2lSNie8OyRMiL/GS4H0zZGLrC8vc56FY+A7BoAOZ3XOIjb8zBc9nwUHKAHOVCA7flRPNvWqPm93PstSkIIjMe72fhNID9CO0WK82DRgO8hCs5cxWggZbaLisc0ziDMoVJGKJitl72Lu1pm5bYpa78fmzNNQWt2MKoleOa5tDJ+jrA9HMj84CWYuDkrpEp4UVWRngP+ELm6IKJL/ygQaWLsQRGv8F7qASGvr8uZpnapNQf1pE12e4tqUAJm1U7E83cKPrEPJeGt4NZHmTmHR8IHdK+Pxd+ZXixYLL7n8nCUIUIPm44qLBIfZX+V0dgfx39mXM00Vxqs21mXCnr8eNe/rcu27naN7trIKSgiLUlFVIHLF0ks9fAVoXBUwKrSGc= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1247c65d-d1e4-4789-41b8-08d6c2f3528c X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Apr 2019 05:12:43.5767 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4765 Subject: [dpdk-dev] ABI and inline functions 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: , X-List-Received-Date: Wed, 17 Apr 2019 05:12:45 -0000 Hello, There was a conversation [1] in the context of RCU library. I thought it n= eeds participation from broader audience. Summary for the context (please l= ook at [1] for full details) 1) How do we provide ABI compatibility when the code base contains inline f= unctions? Unless we freeze development in these inline functions and corres= ponding structures, it might not be possible to claim ABI compatibility. Ap= plication has to be recompiled. 2) Every function that is not in the direct datapath (fastpath?) should not= be inline. Exceptions or things like rx/tx burst, ring enqueue/dequeue, an= d packet alloc/free - Stephen 3) Plus synchronization routines: spin/rwlock/barrier, etc. I think rcu sho= uld be one of such exceptions - it is just another synchronization mechanis= m after all (just a bit more sophisticated). - Konstantin 2) and 3) can be good guidelines to what functions/APIs can be inline. But,= I believe this guideline exists today too. Are there any thoughts to chang= e this? Coming to 1), I think DPDK cannot provide ABI compatibility unless all the = inline functions are converted to normal functions and symbol versioning is= done for those (not bothering about performance). In this context, does it make sense to say that we will maintain API compat= ibility rather than saying ABI compatibility? This will also send the right= message to the end users. Thank you, Honnappa [1] http://mails.dpdk.org/archives/dev/2019-April/130151.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 49A96A00E6 for ; Wed, 17 Apr 2019 07:12:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E18891B523; Wed, 17 Apr 2019 07:12:46 +0200 (CEST) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40064.outbound.protection.outlook.com [40.107.4.64]) by dpdk.org (Postfix) with ESMTP id 7500F1B4F2 for ; Wed, 17 Apr 2019 07:12:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gwrnlD9D59F/XarGT6bLo6P+WK+7qAH57jS8kGq52Wc=; b=YvNlz7e/bJKNtW2dSLlhTScXthMVCl/o/bs550Fez7fjCmr0YF+Y/oiG1+WTkL17JBimZ8bZEhYFlE12eLJ3E2ULfRq9oLsA/8xaxRlW3XasEbPNXMPuBXhZXK/2/tMVqOWRZAAcaD2QoZlO/lWLGvZ6b4PI5ADH4Xx/VXB2BFs= Received: from VE1PR08MB5149.eurprd08.prod.outlook.com (20.179.30.152) by VE1PR08MB4765.eurprd08.prod.outlook.com (10.255.113.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.19; Wed, 17 Apr 2019 05:12:43 +0000 Received: from VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::e0ae:ecad:ec5:8177]) by VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::e0ae:ecad:ec5:8177%2]) with mapi id 15.20.1792.018; Wed, 17 Apr 2019 05:12:43 +0000 From: Honnappa Nagarahalli To: "dev@dpdk.org" , Stephen Hemminger , "Ananyev, Konstantin" CC: "thomas@monjalon.net" , Ray Kinsella , nd , nd Thread-Topic: ABI and inline functions Thread-Index: AdT03C2s3ZB+VIuxS0mLCJ+6mgHcvg== Date: Wed, 17 Apr 2019 05:12:43 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; x-originating-ip: [217.140.111.135] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1247c65d-d1e4-4789-41b8-08d6c2f3528c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600140)(711020)(4605104)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:VE1PR08MB4765; x-ms-traffictypediagnostic: VE1PR08MB4765: x-ms-exchange-purlcount: 1 x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr nodisclaimer: True x-microsoft-antispam-prvs: x-forefront-prvs: 0010D93EFE x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(396003)(39860400002)(376002)(346002)(366004)(199004)(189003)(72206003)(4326008)(55016002)(26005)(14454004)(186003)(966005)(8676002)(486006)(81156014)(74316002)(6436002)(66066001)(5660300002)(3480700005)(7736002)(33656002)(476003)(305945005)(6306002)(81166006)(9686003)(2906002)(6506007)(71190400001)(25786009)(68736007)(86362001)(54906003)(256004)(71200400001)(97736004)(52536014)(53936002)(102836004)(7696005)(8936002)(106356001)(316002)(478600001)(2501003)(3846002)(105586002)(99286004)(6116002)(110136005)(533714002); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4765; H:VE1PR08MB5149.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: pgeySQTDZrwnOYJNgcjift5PQAq57yhmWO2lSQOTpGu2lSNie8OyRMiL/GS4H0zZGLrC8vc56FY+A7BoAOZ3XOIjb8zBc9nwUHKAHOVCA7flRPNvWqPm93PstSkIIjMe72fhNID9CO0WK82DRgO8hCs5cxWggZbaLisc0ziDMoVJGKJitl72Lu1pm5bYpa78fmzNNQWt2MKoleOa5tDJ+jrA9HMj84CWYuDkrpEp4UVWRngP+ELm6IKJL/ygQaWLsQRGv8F7qASGvr8uZpnapNQf1pE12e4tqUAJm1U7E83cKPrEPJeGt4NZHmTmHR8IHdK+Pxd+ZXixYLL7n8nCUIUIPm44qLBIfZX+V0dgfx39mXM00Vxqs21mXCnr8eNe/rcu27naN7trIKSgiLUlFVIHLF0ks9fAVoXBUwKrSGc= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1247c65d-d1e4-4789-41b8-08d6c2f3528c X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Apr 2019 05:12:43.5767 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4765 Subject: [dpdk-dev] ABI and inline functions 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" Message-ID: <20190417051243.8Vkqbjy63tbrNhVwHF5mPhHw6jZsXrcHhe6YzF2Yijg@z> Hello, There was a conversation [1] in the context of RCU library. I thought it n= eeds participation from broader audience. Summary for the context (please l= ook at [1] for full details) 1) How do we provide ABI compatibility when the code base contains inline f= unctions? Unless we freeze development in these inline functions and corres= ponding structures, it might not be possible to claim ABI compatibility. Ap= plication has to be recompiled. 2) Every function that is not in the direct datapath (fastpath?) should not= be inline. Exceptions or things like rx/tx burst, ring enqueue/dequeue, an= d packet alloc/free - Stephen 3) Plus synchronization routines: spin/rwlock/barrier, etc. I think rcu sho= uld be one of such exceptions - it is just another synchronization mechanis= m after all (just a bit more sophisticated). - Konstantin 2) and 3) can be good guidelines to what functions/APIs can be inline. But,= I believe this guideline exists today too. Are there any thoughts to chang= e this? Coming to 1), I think DPDK cannot provide ABI compatibility unless all the = inline functions are converted to normal functions and symbol versioning is= done for those (not bothering about performance). In this context, does it make sense to say that we will maintain API compat= ibility rather than saying ABI compatibility? This will also send the right= message to the end users. Thank you, Honnappa [1] http://mails.dpdk.org/archives/dev/2019-April/130151.html