From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 99D82DE0 for ; Thu, 8 Mar 2018 20:41:21 +0100 (CET) Received: from cpe-2606-a000-111b-40b7-640c-26a-4e16-9225.dyn6.twc.com ([2606:a000:111b:40b7:640c:26a:4e16:9225] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1eu1Pb-0000OM-JL; Thu, 08 Mar 2018 14:41:13 -0500 Date: Thu, 8 Mar 2018 14:40:39 -0500 From: Neil Horman To: Thomas Monjalon Cc: Ferruh Yigit , John McNamara , Marko Kovacevic , dev@dpdk.org, Luca Boccassi , Christian Ehrhardt Message-ID: <20180308194039.GB32578@hmswarspite.think-freely.org> References: <20180307174422.118291-1-ferruh.yigit@intel.com> <1672091.0Tzq5VA8o7@xps> <20180308153504.GA32578@hmswarspite.think-freely.org> <4097404.y7j9CXhnSi@xps> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4097404.y7j9CXhnSi@xps> User-Agent: Mutt/1.9.2 (2017-12-15) X-Spam-Score: -2.9 (--) X-Spam-Status: No Subject: Re: [dpdk-dev] [RFC] config: remove RTE_NEXT_ABI 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: Thu, 08 Mar 2018 19:41:21 -0000 On Thu, Mar 08, 2018 at 05:04:01PM +0100, Thomas Monjalon wrote: > 08/03/2018 16:35, Neil Horman: > > On Thu, Mar 08, 2018 at 04:17:00PM +0100, Thomas Monjalon wrote: > > > 08/03/2018 12:43, Ferruh Yigit: > > > > On 3/8/2018 8:05 AM, Thomas Monjalon wrote: > > > > > 07/03/2018 18:44, Ferruh Yigit: > > > > >> After experimental API process defined do we still need RTE_NEXT_ABI > > > > >> config and process which has similar targets? > > > > > > > > > > They are different targets. > > > > > Experimental API is always enabled but may be avoided by applications. > > > > > Next ABI can be used to break ABI without notice and disabled to keep > > > > > old ABI compatibility. It is almost never used because it is preferred > > > > > to keep ABI compatibility with rte_compat macros, or wait a deprecation > > > > > period after notice. > > > > > > > > OK, I see. > > > > > > > > Shouldn't we disable it by default at least? Otherwise who is not paying > > > > attention to this config option will get and ABI/API break. > > > > > > Yes I think you are right, it can be disabled by default. > > > > > I would agree, there seems to be overlap here, and the experimental tagging can > > cover what the NEXT_API flag is meant to do. It can be removed I think. > > It is not NEXT_API but NEXT_ABI. Sorry, typo, though I'm sure you got that, since the former doesn't exist, right? > Why do you think it overlaps experimental API tagging? I assert that because the compat lib has macros to map common symbols to version specific ones. That is to say, if you change a data structure, you can setup the API calls that use said structure such that version 1 or the symbol maps to an internal function that uses the old structure, while version 2 maps to an internal function that uses the new symbol That is to say, if you're planning on introducing ABI changes, the experimental API tagging can be used to implement what the NEXT_ABI macro does. Neil > > >