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 D2091A05D3 for ; Wed, 22 May 2019 15:41:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A718F5589; Wed, 22 May 2019 15:41:10 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 0ABF99E4; Wed, 22 May 2019 15:41:08 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x4MDeAeO027986; Wed, 22 May 2019 06:41:08 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=d7muZvgP1QidnhPmYDKJn0WnSPJGi4XE12tuLE6WWGw=; b=kfkhS1NV7wH/Lovy2aAoBlzbB3AmMf1wPBZexB6HvBfBai8Csr54LvQXPQKd7XsXSBgb nZsPIiTI0MqeXQ05Z7M/yaxLjrZ+342Kr/bXnu+Dwrr7Al+ElFJIH8kyNuvAUle+S6O/ 08yc99Q/8FVCEOI5BQ4C+XFW4HRqgjfdER/SrvJCqAj4Nz/3jIDgFPG5EqUeKwNPYOgH tTHHgUqog0YxFz4A/h5hm9aD2PzC8w6HESHP3W9ElODB+pXLlQbl2dZbPMExhVG0dok+ PuisFxKveErPQhw5eamLWif5to1DweZj7Qi93PIryRt80TNSrfXNDK6WNiFg9gkvNFjm WQ== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0b-0016f401.pphosted.com with ESMTP id 2smnwjvp0y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 22 May 2019 06:41:08 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 22 May 2019 06:41:07 -0700 Received: from NAM04-CO1-obe.outbound.protection.outlook.com (104.47.45.56) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Wed, 22 May 2019 06:41:05 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d7muZvgP1QidnhPmYDKJn0WnSPJGi4XE12tuLE6WWGw=; b=Nzh+aAYJSzBcVx6QgdYu7yFIdLhDIRAx+pvdDAaVLjr1gvB/yt/oGtNKcxJUPo5golFv36J1Nw3UjeHar+qqyBjjqYxDh1RnyYLxnUQAn+OPuZUDT/5lYG5RdUIryB63EjCxmTji5NyHuNEmnCcgJM4mIx+8xgAoGy+/eVic5MQ= Received: from BYAPR18MB2424.namprd18.prod.outlook.com (20.179.91.149) by BYAPR18MB2629.namprd18.prod.outlook.com (20.179.93.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1900.18; Wed, 22 May 2019 13:41:03 +0000 Received: from BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::1ce4:557d:eeb8:843c]) by BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::1ce4:557d:eeb8:843c%7]) with mapi id 15.20.1900.020; Wed, 22 May 2019 13:41:03 +0000 From: Jerin Jacob Kollanukkaran To: Neil Horman CC: Bruce Richardson , "dev@dpdk.org" , "thomas@monjalon.net" , "stable@dpdk.org" Thread-Topic: [dpdk-dev] Re: [PATCH] devtools: skip the symbol check when map file under drivers Thread-Index: AdUQoxX6c+w8Qg2aQN+DesCxp18kDg== Date: Wed, 22 May 2019 13:41:03 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [106.201.57.97] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4be7608a-6aa1-4518-501a-08d6debb2235 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328)(7193020); SRVR:BYAPR18MB2629; x-ms-traffictypediagnostic: BYAPR18MB2629: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0045236D47 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(346002)(136003)(39860400002)(376002)(366004)(13464003)(199004)(189003)(81156014)(8936002)(81166006)(4326008)(25786009)(6246003)(66066001)(54906003)(53936002)(305945005)(8676002)(256004)(5660300002)(74316002)(71190400001)(476003)(3846002)(6116002)(14444005)(71200400001)(7736002)(52536014)(86362001)(486006)(478600001)(7696005)(102836004)(6506007)(53546011)(2906002)(316002)(76116006)(186003)(26005)(6916009)(66946007)(9686003)(64756008)(66556008)(66446008)(66476007)(33656002)(99286004)(73956011)(55236004)(229853002)(6436002)(55016002)(68736007)(14454004); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR18MB2629; H:BYAPR18MB2424.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: JPt7Efdh5gfGdsXE+s64q9/vjw9PB//79FLeeFx3QlzEHX5V43XkGKIDIPZQK+95scN7S++r1G1ZUq0uZZoPhjmpeUDpQU9iUJMIqZtOyocroVp0FxTK2LAB+e3Z5c67zx3JDiKvb+vQB78V+bCk5b1bN4gT9OVH+aNAYLAr4Up8+p1WCSnL9YDSq9G6LKwNYKjdffJxkliIcfTh3lFjai68wrlgbMvrwF6/Geeg+2Axkai8Ad9d2NdqrGNK/Ws9fAyTsMrxKFR0tFPx1Vjz/NnwZ3eMhkgEiO2KipMHNQ1ET9lrhxQTojesowJLj6puSiY7+tSeEU8iLLtkUt2W3o0hwswdpurF6BBsPZQY757ajXUwNhxvcQVAHs3n+EqOH4lpMykxOTTLw4NGHoPRWkqtez6gl8dVi9U45PsMABw= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 4be7608a-6aa1-4518-501a-08d6debb2235 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 May 2019 13:41:03.2494 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR18MB2629 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-05-22_07:, , signatures=0 Subject: Re: [dpdk-dev] [PATCH] devtools: skip the symbol check when map file under drivers 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: Neil Horman > Sent: Wednesday, May 22, 2019 6:43 PM > To: Jerin Jacob Kollanukkaran > Cc: Bruce Richardson ; dev@dpdk.org; > thomas@monjalon.net; stable@dpdk.org > Subject: [EXT] Re: [dpdk-dev] Re: [PATCH] devtools: skip the symbol check > when map file under drivers >=20 > External Email >=20 > ---------------------------------------------------------------------- > On Wed, May 22, 2019 at 11:54:13AM +0000, Jerin Jacob Kollanukkaran > wrote: > > > -----Original Message----- > > > From: Bruce Richardson > > > Sent: Wednesday, May 22, 2019 4:21 PM > > > To: Jerin Jacob Kollanukkaran > > > Cc: Neil Horman ; dev@dpdk.org; > > > thomas@monjalon.net; stable@dpdk.org > > > Subject: Re: [dpdk-dev] [EXT] Re: [PATCH] devtools: skip the symbol > > > check when map file under drivers > > > > > > > > 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? > > > > > > > > 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 ca= se. > > > > I think, I can change my logic to Skip the symbols which NOT > > > > starting with > > > rte_. > > > > Agree? > > > > > > > > Context: > > > > I am adding a new driver/common/octeontx2 directory and it has > > > > some API which Needs to shared between drivers not to the > > > > application. For me, it does not make sense to go through any ABI > process in such case. > > > > > > > > > > > Maybe not, but other drivers will have APIs designed for apps to > > > call directly - some NIC drivers have them, and I suspect that > > > rawdev drivers will need them a lot. Therefore, it's best to have > > > the drivers directory scanned by our tooling. > > > > Agreed. But all of those API which called directly called from > > application is starts with rte_ symbol. How about skipping the symbols > > which is NOT start with rte_* > > example: > > drivers/common/octeontx/rte_common_octeontx_version.map > > drivers/common/dpaax/rte_common_dpaax_version.map > > >=20 > No, that won't work. If you export a function, it doesn't matter if its = named > rte_* or not. Its accessible from any library/application that cares to = call it, IMO, The name prefix matters. The rte_* should denote it a DPDK API and app= lication suppose to use it. I don't think, giving experimental status to intra driver API helps anyone,= neither driver nor application. If you think strongly that experimental needs to be added for intra driver = APIs then I can add that. =20 > and so you have a responsibility to keep it stable for those users. >=20 > Currently the way we have around that is the use of the __rte_experimenta= l > tag. > Adding that tag to an exported function marks it as being unstable, and w= hile > you can use it, it will generate a build time warning about its use, unle= ss you > define ALLOW_EXPERIMENTAL_API. You could use that, understanding that > in-tree drivers could use it safely, as you should always be keeping the = API in > sync with its users, but thats not quite what you want I don't think. >=20 > Another solution (allbeit a slightly risky one), would be to bifurcate yo= ur > header files into a public and private version, with the private version > prototyping your driver-only functions properly, and the public version > aliasing them such that they generate a build time error indicating those > functions aren't available for public use (you can use the gcc static_ass= ert > macro I believe). Users could circumvent it by pulling the private heade= r out > of the build, or just prototyping the functions themselves, but at that p= oint a > user is asking for trouble anyway >=20 > Neil