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 8E807A05D3 for ; Wed, 22 May 2019 15:41:36 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 71FA65F2E; Wed, 22 May 2019 15:41:36 +0200 (CEST) Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 8CE795F0F; Wed, 22 May 2019 15:41:32 +0200 (CEST) Received: from cpe-2606-a000-111b-405a-0-0-0-162e.dyn6.twc.com ([2606:a000:111b:405a::162e] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1hTRUh-0001lU-SH; Wed, 22 May 2019 09:41:30 -0400 Date: Wed, 22 May 2019 09:40:56 -0400 From: Neil Horman To: Jerin Jacob Kollanukkaran Cc: "dev@dpdk.org" , "thomas@monjalon.net" , "stable@dpdk.org" Message-ID: <20190522134056.GC18629@hmswarspite.think-freely.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.11.3 (2019-02-01) X-Spam-Score: -2.9 (--) X-Spam-Status: No Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH] devtools: skip the symbol check when map file under drivers X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" On Wed, May 22, 2019 at 01:12:34PM +0000, Jerin Jacob Kollanukkaran wrote: > > -----Original Message----- > > From: Neil Horman > > Sent: Wednesday, May 22, 2019 6:16 PM > > To: Jerin Jacob Kollanukkaran > > Cc: dev@dpdk.org; thomas@monjalon.net; stable@dpdk.org > > Subject: Re: [EXT] Re: [dpdk-dev] [PATCH] devtools: skip the symbol check > > when map file under drivers > > > > On Wed, May 22, 2019 at 03:05:54AM +0000, Jerin Jacob Kollanukkaran > > wrote: > > > > -----Original Message----- > > > > From: Neil Horman > > > > Sent: Wednesday, May 22, 2019 1:57 AM > > > > To: Jerin Jacob Kollanukkaran > > > > Cc: dev@dpdk.org; thomas@monjalon.net; stable@dpdk.org > > > > Subject: [EXT] Re: [dpdk-dev] [PATCH] devtools: skip the symbol > > > > check when map file under drivers > > > > > > > > On Wed, May 22, 2019 at 01:26:28AM +0530, jerinj@marvell.com wrote: > > > > > From: Jerin Jacob > > > > > > > > > > Drivers do not have ABI. > > > > > Skip the symbol check if map file under drivers directory. > > > > > > > > > > Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol > > > > > addition") > > > > > > > > > > Cc: stable@dpdk.org > > > > > Cc: Neil Horman > > > > > > > > > Sorry, but I'm not ok with this, because many of our DPDK PMDs have > > > > functions that get exported which are meant to be called by > > > > applications directly. The > > > > > > OK. Just to update my knowledge, Should those API needs to go through > > > ABI/API depreciation process? > > > > > Yes, they definately should, they are API's just as any other in the core DPDK > > library. > > OK > > > > > > > Actually, I am concerned about the APIs, which is called between > > > drviers not the application. For example, > > > drivers/common/dpaax/rte_common_dpaax_version.map > > > > > > it is not interface to application rather it is for intra driver case. > > > I think, I can change my logic to Skip the symbols which NOT starting with > > rte_. > > > Agree? > > > > > No, Thats just one case, and if those calls are between drivers, so be it, but > > those still need to be stable, and we have other examples (like the bonding > > or dummy driver), which have additional APIs that are explicitly meant to be > > used by an application. > > There is no disagreement on the API that exposed to application. > I am concerned with internal driver APIs. For example, I am getting following warning > > ERROR: symbol otx2_mbox_alloc_msg_rsp is added in the DPDK_19.05 section, but is expected to be added in the EXPERIMENTAL section of the version map > Thats a warning about the fact that you added an API call in a versioned section of a library instead of the Experimental section, thats part of our policy. New APIs need to go through the experimental tag first. I understand what you are saying about driver only apis, and I mentioned that in my other email farther down the thread. The problem is that "driver only apis" are currently just a conceptual thing for us to discuss. They're still, practially speaking, API's that any downstream user can access and become dependent on, which we need to manage, either by keeping the API stable, so it stays usable for all callers, or by developing a way to mark driver only API's as such. I proposed a method that you might use to do the latter in my other email. > This API suppose to be called only a octeontx2 network driver from octeontx2 common driver > i.e application should not expect any stability on intra driver functions or it does not meant to > be used by application. > Ok, but again, your assertion is that its driver to driver only, but in practicaility, that assertion is irrelevant. Those symbols are still exposed for general use, and weather or not you say they aren't part of the ABI, the fact of the matter is, there is no way to tell the difference from a linked object standpoint. Instead of hobbling the tool to just not scan anything, you need to find a way to differentiate these symbols, so that you can enforce your assertion that there are restrictions on where these APIs are called from. Neil > Thomas, > Any thought on this? > > > > > > > >