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 1FAC7A0093; Mon, 18 May 2020 13:19:01 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 95D9F1D179; Mon, 18 May 2020 13:19:00 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 5FFF41C2A5; Mon, 18 May 2020 13:18:59 +0200 (CEST) IronPort-SDR: Gi5jW3edOj6FZMkXLssRUmQcgxsFazrMV/vs1/Pd5AA2UCRWEdPxVgYqxpWNp1bZPLvFn2b3gU GwQ7rx5t6bEw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2020 04:18:58 -0700 IronPort-SDR: XdX4AVcoKtB+q3l/Td+VSD59Jx0sHE8xa+S9B8LNp4fIW8ZG4Lq5LxGZojM8cTWC2cjhmkG4MT 9UN4YaIsYm+Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,407,1583222400"; d="scan'208";a="299185260" Received: from orsmsx103.amr.corp.intel.com ([10.22.225.130]) by fmsmga002.fm.intel.com with ESMTP; 18 May 2020 04:18:57 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX103.amr.corp.intel.com (10.22.225.130) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 May 2020 04:18:57 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 18 May 2020 04:18:56 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 18 May 2020 04:18:56 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.106) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 May 2020 04:18:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jtRJA87ZYDXFzwLs1WD/F40ig37EpKg/fxlkP4tq2Ks9P/mu3Dt52X0pu9QOejvCTVfZ5qr2lPDmhYZ0KlRlV4iPfkZOu+rzS99uJEMOpT4V7jXomxY+f1Q/uOzO2TpOWcVAbNnanaNeVRKug9azh/AMDqnjvwGhW5Uxv8WeNjJA7BijD5/1nAoB2PcIqud+8zMrJ9l0OBVBU04R6tg9aMTz3DKRwUw08AHZzIWb6U2CLf1mHlCGJjIUtjLCYg21eEPZdoENcKocUwHHs1tLvs0jvVnDHN8oXOFMHXvbYTT1Lizk660y55aIlBRh3JKddz9pu8GMHdFuK3o54GZzsw== 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=8+zUXlSPbEVFdBW95aPj4EbaRLi5dsTDoo+3dFQ3kzY=; b=Z03juH+7/lPlOoemkF9BaXN/XdB3GGhv8Wuy8ORgLj4TmyoOvgowoaeaB0Uuk/dmHwIpORZFeIGYX41MM8wBp8tndmqYcgCGeUeGgdbzfJjM8wEY7Uc5NCNa6PmTdl67G7CpQkLoQb3Lne9LY+h9IKnpka3pbiC/+5rf/Shm9fNlhx9I+7NCT+wl8ct0+89pDe92ULuKXTbnnFydpJEn2YBauVdmGQgqRa802P9TcqqnnEyRT6x2uawADBl76gNyyWFLEm8PDhB4FCKsMgav9ILud70Kn7LA3/eztc5cJ3oBOTGwLm7YTt5JbjZWFPl0tld6ipOvYm3nhxAtn13Jjg== 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=8+zUXlSPbEVFdBW95aPj4EbaRLi5dsTDoo+3dFQ3kzY=; b=hz17PCBOYcjbedwPKZsDnEDipiwH0ldTJksq9YeKpeMpN58RiOh4LPFhJBaReL9OqvOznjK6eouFrIebMtHFLZTMvJRHeZICTQYlSDd7QHphMrCFK4Qe3PskWtFb/pa/mohZyQ0HRv8USQz34U+/V7QskRM6a/v3Ubj6BXeCHlg= Received: from BYAPR11MB2935.namprd11.prod.outlook.com (20.177.224.24) by BYAPR11MB2758.namprd11.prod.outlook.com (52.135.228.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.24; Mon, 18 May 2020 11:18:51 +0000 Received: from BYAPR11MB2935.namprd11.prod.outlook.com ([fe80::30cf:b71:6d62:7fd9]) by BYAPR11MB2935.namprd11.prod.outlook.com ([fe80::30cf:b71:6d62:7fd9%4]) with mapi id 15.20.3000.022; Mon, 18 May 2020 11:18:51 +0000 From: "Dumitrescu, Cristian" To: Thomas Monjalon , "Yigit, Ferruh" , Ray Kinsella CC: Neil Horman , Eelco Chaudron , "dev@dpdk.org" , David Marchand , "stable@dpdk.org" , Luca Boccassi , "Richardson, Bruce" , "Stokes, Ian" , Andrzej Ostruszka Thread-Topic: [PATCH v4] meter: provide experimental alias of API for old apps Thread-Index: AQHWKgpn06hU8fDK2kmk46fSvpKUbaissiXggAC1QICAADAjAIAAAmIAgAAVFACAAAbPUA== Date: Mon, 18 May 2020 11:18:51 +0000 Message-ID: References: <20200513121149.2283385-1-ferruh.yigit@intel.com> <3888163.3T5rpR7ggn@thomas> <69122822.RN2Pgac3cq@thomas> In-Reply-To: <69122822.RN2Pgac3cq@thomas> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: monjalon.net; dkim=none (message not signed) header.d=none;monjalon.net; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.151.168] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c1a443df-9a9c-4841-4a53-08d7fb1d3e5e x-ms-traffictypediagnostic: BYAPR11MB2758: 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:10000; x-forefront-prvs: 04073E895A x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: F3BAGFphbhi03OHDaWxNOrLy62Inzyp4F6qvt+IX+z4jQYvfY5UshhCjGmQ7zGgJ1KtK5fMInQ9xC/9I4/8eLCmauDRgW2CnfAh3mLufS50S7Sz//Jd0P5+qbn3dJppPcFbE9BZj8h/19SERQgwAuKqZv82vf0/IB+Fqhtnpt828Y1TDXEcCPbf7jgP0sawcdIJ1HZqLR51OESaGfzTQXFj2dF32omUpCj3RKGO2ltDdCuL/eST1kiHhmPHl7/8q312OgxqLAxH+RdIV6vE8gg/6MogcIHYJQNt2puj3bLKVHNxhnWBE127rEVzcGjJX97Jx9ekSzV5hCkeRpLiyWLUXuFMc1dQOfczKZlKj+Q3JszjE4Rl8bEsiFK3/DUTJKyux5x53pmS3+qKVvZorz6QUsOUdQ1u2oGGASZOgGD+e3uvVuKMkR06bvqsMWbatZTEHJe141Gdl/aPmm4PL+GHH7ZCJF3U2uhecHIDsAMViCLJzjF7NBms8pQvExfjOJY+TmwfXbTPQee/oM+WNHw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2935.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(396003)(346002)(136003)(39860400002)(376002)(55016002)(52536014)(76116006)(66946007)(26005)(66446008)(7696005)(8676002)(66476007)(66556008)(64756008)(9686003)(8936002)(33656002)(53546011)(5660300002)(6506007)(478600001)(54906003)(2906002)(86362001)(110136005)(316002)(186003)(4326008)(71200400001)(966005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: JO9TYECzmCZ80hkJwiEvE25Z6c9vyOsh/bMSjNwfRwAxhGCPB3Hub48c9/2qy4BsIoeLW+WJC6Gow0wmX3ky+RU0lAQk9palg8qI+MG1SvjhI+2QKpLmTXK8F19GzRoTwbtNnGZypEGWu5u33qjLaOat5KCMbXC8db+KTnjhlmqkYSzlP07HZuK5MCSD2jf8PntbH7O/tDAhl/EoSMWO/VUWIyon98+XQqLUHWE9rzEP4fqVxUD2befGU82yVstJ3L7suExhmxJE0KSFxn6akTCssifoGN8b9jebSHDurB2ZJaBgRPxu3O8eak+KWTVVH8svbH5JO1A3mM7T0oHL8jjivv1pDkHFa64li5aevKfZmgpug7E2NC76jF42gxnPcpbeIN/expXJAkI0ccjmDuxPZ64hEsuuGDbgQp0UP5A/n3dziJrppYXYvVWn6nkBLSp7i6KWOSirC37uRQ7/munn+o/uFli1100UulVDGZLv5948xLSzxEHca8JTn4PY Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: c1a443df-9a9c-4841-4a53-08d7fb1d3e5e X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2020 11:18:51.3765 (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: hfBEDZaSKLHTGrKmcbL3A0uvu8t1qXEsRdgwZo96I7029xh1//fJiUA15zUNYdSKCyQy6mbtztt2jlChnQF7XGIy7LAelJtZi9E8vfxfFgE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2758 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4] meter: provide experimental alias of API for old apps 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" > -----Original Message----- > From: Thomas Monjalon > Sent: Monday, May 18, 2020 11:46 AM > To: Yigit, Ferruh ; Ray Kinsella ; > Dumitrescu, Cristian > Cc: Neil Horman ; Eelco Chaudron > ; dev@dpdk.org; David Marchand > ; stable@dpdk.org; Luca Boccassi > ; Richardson, Bruce ; > Stokes, Ian ; Andrzej Ostruszka > > Subject: Re: [PATCH v4] meter: provide experimental alias of API for old = apps >=20 > 18/05/2020 11:30, Ray Kinsella: > > On 18/05/2020 10:22, Thomas Monjalon wrote: > > > 18/05/2020 08:29, Ray Kinsella: > > >> On 17/05/2020 20:52, Dumitrescu, Cristian wrote: > > >>> From: Yigit, Ferruh > > >>>> > > >>>> On v20.02 some meter APIs have been matured and symbols moved > from > > >>>> EXPERIMENTAL to DPDK_20.0.1 block. > > >>>> > > >>>> This can break the applications that were using these mentioned AP= Is > on > > >>>> v19.11. Although there is no modification on the APIs and the acti= on is > > >>>> positive and matures the APIs, the affect can be negative to > > >>>> applications. > > >>>> > > >>>> Since experimental APIs can change or go away without notice as pa= rt > of > > >>>> contract, to prevent this negative affect that may occur by maturi= ng > > >>>> experimental API, a process update already suggested, which > enables > > >>>> aliasing without forcing it: > > >>>> https://patches.dpdk.org/patch/65863/ > > >>>> > > >>> > > >>> Personally, I am not convinced this is really needed. > > >>> > > >>> Are there any users asking for this? > > >> > > >> As it happens it is all breaking our abi regression test suite. > > >> One of the things we do is to run the unit tests binary from v19.11 > against the latest release. > > >> > > >>> Is there any other library where this is also applied, or is librte= _meter > the only library? > > >> > > >> librte_meter is the only example AFAIK. > > >> But then we only have one example of needing symbol versioning also > at the moment (Cryptodev). > > >> > > >> This is going to happen with experimental symbols that have been > around a while, > > >> that have become used in applications. It is a non-mandatory tool a > maintainer can use > > >> to preserve abi compatibility. > > > > > > If you want to maintain ABI compatibility of experimental symbols, > > > it IS a mandatory tool. > > > You cannot enforce your "ABI regression test suite" and at the same t= ime > > > say it is "non-mandatory". > > > > > > The real question here is to know whether we want to maintain > compatibility > > > of experimental symbols. We said no. Then we said we can. > > > The main concern is the message clarity in my opinion. > > > > > > > There is complete clarity, there is no obligation. > > Our lack of obligation around experimental, is upfront in the policy is > upfront in the policy. > > > > "Libraries or APIs marked as experimental may change without constraint= , > as they are not considered part of an ABI version. Experimental libraries= have > the major ABI version 0." > > > > Later we give the _option_ without obligation to add an alias to > experimental.pls see the v6. > > > > + - In situations in which an ``experimental`` symbol has been stable= for > some > > + time. When promoting the symbol to become part of the next ABI > version, the > > + maintainer may choose to provide an alias to the ``experimental``= tag, > so > > + as not to break consuming applications. > > > > So it is something a Maintainer, _may_ choose to do. > > I use the word, "may" not "will" as there is no obligation's associated= with > experimental. >=20 >=20 > OK Ray, this is my understanding as well. >=20 > The only difficult part to understand is when claiming > "it is all breaking our abi regression test suite" > to justify the choice. > As the maintainer (Cristian) says he does not like this change, > it means the regression test suite should skip this case, right? >=20 I am yet to be convinced of the value of this, but if some people think it = is useful, I am willing to compromise. This is subject to this code being t= emporary code to be removed for 20.11 release, which Ray already confirmed. Ray, a few more suggestions, are you OK with them? 1. Move this code to a separate file in the library (suggest rte_meter_abi_= compat.c as the file name) 2. Clearly state in the patch description this is temporary code to be remo= ved for 20.11 release. 3. Agree that you or Ferruh take the AR to send a patch prior to the 20.11 = release to remove this code. Thanks, Cristian