[dpdk-dev] [PATCH v5] build: disable experimental API check internally

Chautru, Nicolas nicolas.chautru at intel.com
Sat Apr 18 21:43:55 CEST 2020


Hi,

It is probably just me but I having issue with this new patch. 
I typically rebuild the PMD libraries directly when doing incremental changes from the Makefile in the PMD directory (ie. not rebuilding full DPDK each time, which still work okay obviously). 
With this new change it doesn't seem to work any longer with the updated Makefiles without the ALLOW_EXPERIMENTAL_API:
	Symbol is not yet part of stable ABI [-Werror=deprecated-declarations]
I would need to have a further look but checking whether it is just me. 

Thanks
Nic

> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Trahe, Fiona
> Sent: Friday, April 17, 2020 8:52 AM
> To: David Marchand <david.marchand at redhat.com>
> Cc: dev <dev at dpdk.org>; Jerin Jacob <jerinjacobk at gmail.com>; Pavan
> Nikhilesh <pbhagavatula at marvell.com>; Richardson, Bruce
> <bruce.richardson at intel.com>; Thomas Monjalon <thomas at monjalon.net>;
> Yigit, Ferruh <ferruh.yigit at intel.com>; Hemant Agrawal
> <hemant.agrawal at nxp.com>; Trahe, Fiona <fiona.trahe at intel.com>
> Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API check
> internally
> 
> Hi David,
> 
> > -----Original Message-----
> > From: Trahe, Fiona <fiona.trahe at intel.com>
> > Sent: Friday, April 17, 2020 4:05 PM
> > To: David Marchand <david.marchand at redhat.com>
> > Cc: dev <dev at dpdk.org>; Jerin Jacob <jerinjacobk at gmail.com>; Pavan
> > Nikhilesh <pbhagavatula at marvell.com>; Richardson, Bruce
> > <bruce.richardson at intel.com>; Thomas Monjalon <thomas at monjalon.net>;
> > Yigit, Ferruh <ferruh.yigit at intel.com>; Hemant Agrawal
> > <hemant.agrawal at nxp.com>; Trahe, Fiona <fiona.trahe at intel.com>
> > Subject: RE: [dpdk-dev] [PATCH v5] build: disable experimental API
> > check internally
> >
> > Hi Davd,
> >
> > > -----Original Message-----
> > > From: David Marchand <david.marchand at redhat.com>
> > > Sent: Friday, April 17, 2020 2:56 PM
> > > To: Trahe, Fiona <fiona.trahe at intel.com>
> > > Cc: dev <dev at dpdk.org>; Jerin Jacob <jerinjacobk at gmail.com>; Pavan
> > > Nikhilesh <pbhagavatula at marvell.com>; Richardson, Bruce
> > > <bruce.richardson at intel.com>; Thomas
> > Monjalon
> > > <thomas at monjalon.net>; Yigit, Ferruh <ferruh.yigit at intel.com>;
> > > Hemant Agrawal <hemant.agrawal at nxp.com>
> > > Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API
> > > check internally
> > >
> > > On Fri, Apr 17, 2020 at 3:44 PM Trahe, Fiona <fiona.trahe at intel.com>
> wrote:
> > > >
> > > > Hi David,
> > > >
> > > > > -----Original Message-----
> > > > > From: David Marchand <david.marchand at redhat.com>
> > > > > Sent: Friday, April 17, 2020 2:23 PM
> > > > > To: Trahe, Fiona <fiona.trahe at intel.com>
> > > > > Cc: dev <dev at dpdk.org>; Jerin Jacob <jerinjacobk at gmail.com>;
> > > > > Pavan Nikhilesh <pbhagavatula at marvell.com>; Richardson, Bruce
> > > > > <bruce.richardson at intel.com>; Thomas
> > > Monjalon
> > > > > <thomas at monjalon.net>; Yigit, Ferruh <ferruh.yigit at intel.com>;
> > > > > Hemant Agrawal <hemant.agrawal at nxp.com>
> > > > > Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental
> > > > > API check internally
> > > > >
> > > > > On Fri, Apr 17, 2020 at 12:21 PM Trahe, Fiona <fiona.trahe at intel.com>
> wrote:
> > > > > > I see this is already applied.
> > > > > >
> > > > > > However,
> > > > > > rte_cryptodev_queue_pair_setup() calls
> > > > > > rte_cryptodev_sym_get_existing_header_session_size()
> > > > > > The former is a stable API, the latter is experimental.
> > > > > > So I expect the build to break when ALLOW_EXPERIMENTAL_API is
> disabled.
> > > > [Fiona] Thanks for confirming where the flag is.
> > > > But I think you've missed my point.
> > > > What about this problem?
> > >
> > > - dpdk-test-crypto-perf is built as part of the dpdk compilation itself.
> > > There is no user to be made aware of its use of experimental API.
> > >
> > > Now if you are talking about how the crypto API is bent in that it
> > > exposes a stable ABI with an underlying experimental ABI, this has
> > > nothing to do with the flag change.
> > [Fiona] Before this if an application didn't set
> > ALLOW_EXPERIMENTAL_API (which I expect is the default for many apps)
> > then the build worked fine as long as the app didn't directly call an
> > experimental API. The crypto lib still built ok as its own Makefile had the flag.
> > I just tried this with dpdk-test-crypto-perf. I had to remove one
> > direct call, without that it built ok. When I remove the flag from the
> > crypto lib Makefile, the build breaks as expected due to the above issue.
> >
> > So, yes, cryptodev lib should be fixed.
> > However this patch just applied will potentially break builds for many apps!
> > It could expose many other issues of internal dependencies on experimental
> APIs.
> 
> [Fiona] Ok, I get it now, there's no issue.
> I see now why the patch name was changed from "global" to "internal"!
> I had understood that the flag the application set or didn't set would ripple
> down through the whole build. Instead the flag is set (or not set) once by the
> application only affecting direct API calls and once for the rest of the build,
> which includes apps in the app folder, but not apps in the examples folder.
> So allowing experimental APIs internally, while disallowing them externally.
> A bit confusing, but ok, doesn't break anything and definitely better than having
> flags in every Make/meson file.
> 
> Fiona
> 



More information about the dev mailing list