On Thu, Jun 20, 2019 at 8:26 PM Aaron Conole <acon...@redhat.com> wrote:

> Gage Eads <gage.e...@intel.com> writes:
>
> > The functions rte_service_may_be_active(), rte_service_lcore_attr_get(),
> > and rte_service_attr_reset_all() were introduced nearly a year ago in
> DPDK
> > 18.08. They can be considered non-experimental for the 19.08 release.
> >
> > rte_service_may_be_active() is used by eventdev and the sw PMD, and this
> > commit allows them to not need any experimental API.
> >
> > Signed-off-by: Gage Eads <gage.e...@intel.com>
> > ---
> >  drivers/event/sw/Makefile                   |  1 -
> >  drivers/event/sw/meson.build                |  1 -
> >  lib/librte_eal/common/include/rte_service.h | 15 +++------------
> >  lib/librte_eal/common/rte_service.c         |  6 +++---
> >  lib/librte_eal/rte_eal_version.map          |  6 +++---
> >  lib/librte_eventdev/Makefile                |  1 -
> >  lib/librte_eventdev/meson.build             |  1 -
> >  7 files changed, 9 insertions(+), 22 deletions(-)
> >
> > diff --git a/drivers/event/sw/Makefile b/drivers/event/sw/Makefile
> > index 81236a392..c6600e836 100644
> > --- a/drivers/event/sw/Makefile
> > +++ b/drivers/event/sw/Makefile
> > @@ -7,7 +7,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
> >  LIB = librte_pmd_sw_event.a
> >
> >  # build flags
> > -CFLAGS += -DALLOW_EXPERIMENTAL_API
> >  CFLAGS += -O3
> >  CFLAGS += $(WERROR_FLAGS)
> >  # for older GCC versions, allow us to initialize an event using
> > diff --git a/drivers/event/sw/meson.build b/drivers/event/sw/meson.build
> > index 30d221647..985012219 100644
> > --- a/drivers/event/sw/meson.build
> > +++ b/drivers/event/sw/meson.build
> > @@ -1,7 +1,6 @@
> >  # SPDX-License-Identifier: BSD-3-Clause
> >  # Copyright(c) 2017 Intel Corporation
> >
> > -allow_experimental_apis = true
>
> I don't think you can remove these.  There are still some experimental
> APIs (f.e. the rename for rte_cryptodev_sym_session_get_private_data
> marked that function as experimental and it will cause build breakage).
>
> Maybe I'm mis understanding it?  It would be good to get verification
> from Bruce whether that API should not be marked as experimental (it was
> just a rename, so not sure...) - maybe that's a follow up for this
> patch?
>
> See: https://travis-ci.com/ovsrobot/dpdk/jobs/209722145 for an example
>
> The odd thing is I only see it on the clang builds - perhaps it's a
> missing definition for the clang compiler.
>

Erf, it looks like the __rte_experimental tag is affected by the order in
the declaration of the symbol.

--- a/lib/librte_cryptodev/rte_cryptodev.h
+++ b/lib/librte_cryptodev/rte_cryptodev.h
@@ -1245,7 +1245,7 @@ struct rte_cryptodev_asym_session * __rte_experimental
  *  - On success return pointer to user data.
  *  - On failure returns NULL.
  */
-void * __rte_experimental
+__rte_experimental void *
 rte_cryptodev_sym_session_get_user_data(
                                        struct rte_cryptodev_sym_session
*sess);

With this, I get the proper warning...



-- 
David Marchand

Reply via email to