Message ID | 20200425105620.73021-1-haiyue.wang@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9BA98A00C2; Sat, 25 Apr 2020 13:02:18 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3F4D31C1C3; Sat, 25 Apr 2020 13:02:17 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 1053F1C1BD for <dev@dpdk.org>; Sat, 25 Apr 2020 13:02:14 +0200 (CEST) IronPort-SDR: z45h4mLhEgGUL2UDZ/dP2+iIj558RUSRq1QQADxu+YBpCGdSlGVHduKt7g8kCaO9CLsCxsz2eb /DsbDWYljc/g== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2020 04:02:13 -0700 IronPort-SDR: i25jZbrHH0sbZuy21bIR9fP/Bfu70Uc8dIIwjA7jIHTSrHs9D8hi58kE4TTasqnumtGL0XFFqI 5yCez+pZZBLw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,315,1583222400"; d="scan'208";a="457729281" Received: from npg-dpdk-haiyue-3.sh.intel.com ([10.67.119.46]) by fmsmga005.fm.intel.com with ESMTP; 25 Apr 2020 04:02:11 -0700 From: Haiyue Wang <haiyue.wang@intel.com> To: dev@dpdk.org, thomas@monjalon.net, david.marchand@redhat.com, bruce.richardson@intel.com, ferruh.yigit@intel.com, nhorman@tuxdriver.com, mdr@ashroe.eu Cc: Haiyue Wang <haiyue.wang@intel.com> Date: Sat, 25 Apr 2020 18:56:14 +0800 Message-Id: <20200425105620.73021-1-haiyue.wang@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20190613142344.9188-1-nhorman@tuxdriver.com> References: <20190613142344.9188-1-nhorman@tuxdriver.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v7 0/6] dpdk: introduce __rte_internal tag X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
dpdk: introduce __rte_internal tag
|
|
Message
Wang, Haiyue
April 25, 2020, 10:56 a.m. UTC
Move the internal function into INTERNAL session to avoid the ABI checking, and it is only used for DPDK drivers or related library. __rte_internal funA INTERNAL { global: funA }; v7: Fix the meson build error v6: split into small patches, and add the missed handling. v5: add the checkpatch for __rte_internal style v4: add the ABI check suppression rules v3: based on Neil's v2 patch https://patchwork.dpdk.org/cover/54771/ Use the ALLOW_INTERNAL_API to mark this new feature. Haiyue Wang (6): eal: add internal ABI tag definition build: enable internal API tag mk: add internal tag check devtools: ignore internal ABI check devtools: exempt internal ABI checking devtools: enforce internal tag at the beginning MAINTAINERS | 2 +- ...-experimental-syms.sh => check-symbols.sh} | 31 +++++++++++++++ buildtools/meson.build | 2 +- devtools/check-symbol-change.sh | 8 ++++ devtools/checkpatches.sh | 39 +++++++++++++++++++ devtools/libabigail.abignore | 5 +++ drivers/meson.build | 5 ++- lib/librte_eal/include/rte_compat.h | 13 +++++++ lib/meson.build | 5 ++- mk/internal/rte.compile-pre.mk | 6 +-- mk/target/generic/rte.vars.mk | 1 + 11 files changed, 110 insertions(+), 7 deletions(-) rename buildtools/{check-experimental-syms.sh => check-symbols.sh} (61%)
Comments
On Sat, Apr 25, 2020 at 1:02 PM Haiyue Wang <haiyue.wang@intel.com> wrote: > > Move the internal function into INTERNAL session to avoid the ABI > checking, and it is only used for DPDK drivers or related library. > > __rte_internal funA > > INTERNAL { > global: > > funA > }; Thanks a lot for working on this. I did some modifications (see my replies on patch 3 and 5) and applied this series. We are just missing the update on the scripts mentioned in a previous mail. Can you work on this for rc2? Thanks again!
> -----Original Message----- > From: David Marchand <david.marchand@redhat.com> > Sent: Saturday, April 25, 2020 22:39 > To: Wang, Haiyue <haiyue.wang@intel.com> > Cc: dev <dev@dpdk.org>; Thomas Monjalon <thomas@monjalon.net>; Richardson, Bruce > <bruce.richardson@intel.com>; Yigit, Ferruh <ferruh.yigit@intel.com>; Neil Horman > <nhorman@tuxdriver.com>; Ray Kinsella <mdr@ashroe.eu> > Subject: Re: [PATCH v7 0/6] dpdk: introduce __rte_internal tag > > On Sat, Apr 25, 2020 at 1:02 PM Haiyue Wang <haiyue.wang@intel.com> wrote: > > > > Move the internal function into INTERNAL session to avoid the ABI > > checking, and it is only used for DPDK drivers or related library. > > > > __rte_internal funA > > > > INTERNAL { > > global: > > > > funA > > }; > > Thanks a lot for working on this. > I did some modifications (see my replies on patch 3 and 5) and applied > this series. > > We are just missing the update on the scripts mentioned in a previous mail. > Can you work on this for rc2? > Sure, it's my pleasure. ;-) > Thanks again! > > > -- > David Marchand
Hi David, > -----Original Message----- > From: David Marchand <david.marchand@redhat.com> > Sent: Saturday, April 25, 2020 22:39 > To: Wang, Haiyue <haiyue.wang@intel.com> > Cc: dev <dev@dpdk.org>; Thomas Monjalon <thomas@monjalon.net>; Richardson, Bruce > <bruce.richardson@intel.com>; Yigit, Ferruh <ferruh.yigit@intel.com>; Neil Horman > <nhorman@tuxdriver.com>; Ray Kinsella <mdr@ashroe.eu> > Subject: Re: [PATCH v7 0/6] dpdk: introduce __rte_internal tag > > On Sat, Apr 25, 2020 at 1:02 PM Haiyue Wang <haiyue.wang@intel.com> wrote: > > > > Move the internal function into INTERNAL session to avoid the ABI > > checking, and it is only used for DPDK drivers or related library. > > > > __rte_internal funA > > > > INTERNAL { > > global: > > > > funA > > }; > > Thanks a lot for working on this. > I did some modifications (see my replies on patch 3 and 5) and applied > this series. > > We are just missing the update on the scripts mentioned in a previous mail. > Can you work on this for rc2? > Do you mean ? > > > This will apply to common drivers that will be 100% internal. > > > Not sure if this is an issue. > > > > This part should be fine, I want others to be aware of this. > I am not one of the ABI maintainers, but in my opinion it is OK > to have "pure internal" libs with version 0.x. I've tested it with Intel's drivers/common/iavf, it works as expected. a). librte_common_iavf.so.0.200.2 b). Skipped experimental library librte_common_iavf.dump. This has been updated by your modification. + if is_stable lib_version = abi_version so_version = stable_so_version + else + lib_version = experimental_abi_version + so_version = experimental_so_version endif > Thanks again! > > > -- > David Marchand
On Sat, Apr 25, 2020 at 8:10 PM Wang, Haiyue <haiyue.wang@intel.com> wrote: > > Hi David, > > > -----Original Message----- > > From: David Marchand <david.marchand@redhat.com> > > Sent: Saturday, April 25, 2020 22:39 > > To: Wang, Haiyue <haiyue.wang@intel.com> > > Cc: dev <dev@dpdk.org>; Thomas Monjalon <thomas@monjalon.net>; Richardson, Bruce > > <bruce.richardson@intel.com>; Yigit, Ferruh <ferruh.yigit@intel.com>; Neil Horman > > <nhorman@tuxdriver.com>; Ray Kinsella <mdr@ashroe.eu> > > Subject: Re: [PATCH v7 0/6] dpdk: introduce __rte_internal tag > > > > On Sat, Apr 25, 2020 at 1:02 PM Haiyue Wang <haiyue.wang@intel.com> wrote: > > > > > > Move the internal function into INTERNAL session to avoid the ABI > > > checking, and it is only used for DPDK drivers or related library. > > > > > > __rte_internal funA > > > > > > INTERNAL { > > > global: > > > > > > funA > > > }; > > > > Thanks a lot for working on this. > > I did some modifications (see my replies on patch 3 and 5) and applied > > this series. > > > > We are just missing the update on the scripts mentioned in a previous mail. > > Can you work on this for rc2? > > > > Do you mean ? Sorry, I was referring to another mail: """ > We are missing updates on devtools/check-abi-version.sh and > devtools/update_version_map_abi.py. """ Those scripts devtools/check-abi-version.sh and devtools/update_version_map_abi.py are not "internal" aware. Can you take care of them? > > > > This will apply to common drivers that will be 100% internal. > > > > Not sure if this is an issue. > > > > > > This part should be fine, I want others to be aware of this. > > > I am not one of the ABI maintainers, but in my opinion it is OK > > to have "pure internal" libs with version 0.x. > > I've tested it with Intel's drivers/common/iavf, it works as expected. > a). librte_common_iavf.so.0.200.2 > b). Skipped experimental library librte_common_iavf.dump. > > This has been updated by your modification. > + if is_stable > lib_version = abi_version > so_version = stable_so_version > + else > + lib_version = experimental_abi_version > + so_version = experimental_so_version > endif Thanks for testing.
> -----Original Message----- > From: David Marchand <david.marchand@redhat.com> > Sent: Wednesday, April 29, 2020 16:22 > To: Wang, Haiyue <haiyue.wang@intel.com> > Cc: dev <dev@dpdk.org>; Thomas Monjalon <thomas@monjalon.net>; Richardson, Bruce > <bruce.richardson@intel.com>; Yigit, Ferruh <ferruh.yigit@intel.com>; Neil Horman > <nhorman@tuxdriver.com>; Ray Kinsella <mdr@ashroe.eu> > Subject: Re: [PATCH v7 0/6] dpdk: introduce __rte_internal tag > > On Sat, Apr 25, 2020 at 8:10 PM Wang, Haiyue <haiyue.wang@intel.com> wrote: > > > > Hi David, > > > > > -----Original Message----- > > > From: David Marchand <david.marchand@redhat.com> > > > Sent: Saturday, April 25, 2020 22:39 > > > To: Wang, Haiyue <haiyue.wang@intel.com> > > > Cc: dev <dev@dpdk.org>; Thomas Monjalon <thomas@monjalon.net>; Richardson, Bruce > > > <bruce.richardson@intel.com>; Yigit, Ferruh <ferruh.yigit@intel.com>; Neil Horman > > > <nhorman@tuxdriver.com>; Ray Kinsella <mdr@ashroe.eu> > > > Subject: Re: [PATCH v7 0/6] dpdk: introduce __rte_internal tag > > > > > > On Sat, Apr 25, 2020 at 1:02 PM Haiyue Wang <haiyue.wang@intel.com> wrote: > > > > > > > > Move the internal function into INTERNAL session to avoid the ABI > > > > checking, and it is only used for DPDK drivers or related library. > > > > > > > > __rte_internal funA > > > > > > > > INTERNAL { > > > > global: > > > > > > > > funA > > > > }; > > > > > > Thanks a lot for working on this. > > > I did some modifications (see my replies on patch 3 and 5) and applied > > > this series. > > > > > > We are just missing the update on the scripts mentioned in a previous mail. > > > Can you work on this for rc2? > > > > > > > Do you mean ? > > Sorry, I was referring to another mail: > """ > > We are missing updates on devtools/check-abi-version.sh and > > devtools/update_version_map_abi.py. > """ > > Those scripts devtools/check-abi-version.sh and > devtools/update_version_map_abi.py are not "internal" aware. > Can you take care of them? > Got it, I will try. > > > > > > This will apply to common drivers that will be 100% internal. > > > > > Not sure if this is an issue. > > > > > > > > This part should be fine, I want others to be aware of this. > > > > > I am not one of the ABI maintainers, but in my opinion it is OK > > > to have "pure internal" libs with version 0.x. > > > > I've tested it with Intel's drivers/common/iavf, it works as expected. > > a). librte_common_iavf.so.0.200.2 > > b). Skipped experimental library librte_common_iavf.dump. > > > > This has been updated by your modification. > > + if is_stable > > lib_version = abi_version > > so_version = stable_so_version > > + else > > + lib_version = experimental_abi_version > > + so_version = experimental_so_version > > endif > > Thanks for testing. > > > -- > David Marchand