From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D177BA052A; Mon, 25 Jan 2021 11:11:15 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BACE1140E48; Mon, 25 Jan 2021 11:11:15 +0100 (CET) Received: from dal3relay227.mxroute.com (dal3relay227.mxroute.com [64.40.27.227]) by mails.dpdk.org (Postfix) with ESMTP id 8DE42140E3C for ; Mon, 25 Jan 2021 11:11:13 +0100 (CET) Received: from filter004.mxroute.com ([149.28.56.236] 149.28.56.236.vultr.com) (Authenticated sender: mN4UYu2MZsgR) by dal3relay227.mxroute.com (ZoneMTA) with ESMTPSA id 1773906a260000d98d.001 for (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256); Mon, 25 Jan 2021 10:11:12 +0000 X-Zone-Loop: 59bcffd76c161e2c1d9abf5bad9756dcc43c53c876fc X-Originating-IP: [149.28.56.236] Received: from echo.mxrouting.net (echo.mxrouting.net [116.202.222.109]) by filter004.mxroute.com (Postfix) with ESMTPS id 554693E9E1; Mon, 25 Jan 2021 10:11:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ashroe.eu; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=YHRPVH5PMKZZBuPupx6NgRaBxXiWT399LgWRuss2U5M=; b=hyd+t0aDr2Dgqz4PD1YKu8q5R+ NVHnpB/8MwAuLiSTxZ85Cm7XZaQOdTgvAHxcpqp3UxYxllS8oqpaGOlPsTeXsF4WwakFGmSxOlgJd eWCjaQWGwHiKa74e8DB30nRLZSHDkqDpx/xUV/uqgT9d4v9nCYgKCCQ8tXPPyRcUI9htB3e1EazVi sVRPmAkmXvGPIUAT93NIosZ71g2z7lYvAL6yF4vGSskfEOqwjltrU9Qo9NJ05i3Imx9i5bpJHgCSA Rbuq0Q4A2RsT4iFi9TZQqXxSdunBs1051HLA/qcGxkh8aWebba8YVQUVzqTqaW3bvBOzUt9eY+0n1 gmmfHgpg==; To: Dmitry Kozlyuk Cc: Thomas Monjalon , dev@dpdk.org, Stephen Hemminger , David Marchand , Maxime Coquelin , Aaron Conole , Bruce Richardson , ferruh.yigit@intel.com, ray.kinsella@intel.com References: <20201014183136.22239-1-dmitry.kozliuk@gmail.com> <5444857.Q0qPc8oPp2@thomas> <20210123012403.1bdb35d0@sovereign> <14261305.cmbqrkYmuW@thomas> <20210125130517.470ae277@sovereign> From: "Kinsella, Ray" Message-ID: Date: Mon, 25 Jan 2021 10:11:07 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: <20210125130517.470ae277@sovereign> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-AuthUser: mdr@ashroe.eu Subject: Re: [dpdk-dev] [PATCH v8 2/3] build: use Python pmdinfogen X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" On 25/01/2021 10:05, Dmitry Kozlyuk wrote: > On Mon, 25 Jan 2021 09:25:51 +0000, Kinsella, Ray wrote: >> On 23/01/2021 11:38, Thomas Monjalon wrote: >>> 22/01/2021 23:24, Dmitry Kozlyuk: >>>> On Fri, 22 Jan 2021 21:57:15 +0100, Thomas Monjalon wrote: >>>>> 22/01/2021 21:31, Dmitry Kozlyuk: >>>>>> On Wed, 20 Jan 2021 11:24:21 +0100, Thomas Monjalon wrote: >>>>>>> 20/01/2021 08:23, Dmitry Kozlyuk: >>>>>>>> On Wed, 20 Jan 2021 01:05:59 +0100, Thomas Monjalon wrote: >>>>>>>>> This is now the right timeframe to introduce this change >>>>>>>>> with the new Python module dependency. >>>>>>>>> Unfortunately, the ABI check is returning an issue: >>>>>>>>> >>>>>>>>> 'const char mlx5_common_pci_pmd_info[62]' was changed >>>>>>>>> to 'const char mlx5_common_pci_pmd_info[60]' at rte_common_mlx5.pmd.c >>>>>>>> >>>>>>>> Will investigate and fix ASAP. >>>>>> >>>>>> Now that I think of it: strings like this change every time new PCI IDs are >>>>>> added to a PMD, but AFAIK adding PCI IDs is not considered an ABI breakage, >>>>>> is it? One example is 28c9a7d7b48e ("net/mlx5: add ConnectX-6 Lx device ID") >>>>>> added 2020-07-08, i.e. clearly outside of ABI change window. >>>>> >>>>> You're right. >>>>> >>>>>> "xxx_pmd_info" changes are due to JSON formatting (new is more canonical), >>>>>> which can be worked around easily, if the above is wrong. >>>>> >>>>> If the new format is better, please keep it. >>>>> What we need is an exception for the pmdinfo symbols >>>>> in the file devtools/libabigail.abignore. >>>>> You can probably use a regex for these symbols. >>>> >>>> This would allow real breakages to pass ABI check, abidiff doesn't analyze >>>> variable content and it's not easy to compare. Maybe later a script can be >>>> added that checks lines with RTE_DEVICE_IN in patches. There are at most 32 of >>>> 5494 relevant commits between 19.11 and 20.11, though. >>>> >>>> To verify there are no meaningful changes I ensured empty diff between >>>> results of the following command for "main" and the branch: >>>> >>>> find build/drivers -name '*.so' -exec usertools/dpdk-pmdinfo.py >>> >>> For now we cannot do such check as part of the ABI checker. >>> And we cannot merge this patch if the ABI check fails. >>> I think the only solution is to allow any change in the pmdinfo variables. >>> >> >> So my 2c on this is that this is an acceptable work-around for the v21 (DPDK v20.11) ABI. >> However we are going to end up carrying this rule in libabigail.ignore indefinitely. >> >> Would it make sense to just fix the size of _pmd_info to some reasonably large value - >> say 128 bytes, to allow us to drop the rule in the DPDK 21.11 v22 release? > > I don't think so. This is a JSON *string to be parsed;* considering its size > as part of application *binary* interface is wrong in the first place. Right - then is belongs in INTERNAL, I would say. > As for > content, checking that no PCI IDs are removed is out of scope for libabigail > anyway. Lets be clear PCI IDs - are _nothing_ to do with ABI. > Technically we could fix _pmd_info size, but this still allows > breaking changes to pass the check with no benefit. ABI changes or other, please explain?