[dpdk-stable] [RFC PATCH] mark experimental variables

Neil Horman nhorman at tuxdriver.com
Fri Nov 29 12:43:19 CET 2019


On Wed, Nov 27, 2019 at 09:45:46PM +0100, David Marchand wrote:
> On Tue, Nov 26, 2019 at 3:22 PM Neil Horman <nhorman at tuxdriver.com> wrote:
> > On Mon, Nov 25, 2019 at 05:13:14PM +0100, David Marchand wrote:
> > > So far, we did not pay attention to direct access to variables but they
> > > are part of the API/ABI too and should be clearly identified.
> > >
> > > Introduce a __rte_experimental_var tag and mark existing variables.
> > >
> > > Fixes: a4bcd61de82d ("buildtools: add script to check experimental API exports")
> > > Cc: stable at dpdk.org
> > >
> > > Signed-off-by: David Marchand <david.marchand at redhat.com>
> > > ---
> > > Quick patch to try to catch experimental variables.
> > > Not sure if we could use a single section, so please advise if there is
> > > better to do about this.
> > >
> > I don't see any definition of __rte_experimental_var here, won't the
> > preprocessor choke on this when you try to compile without that?
> 
> Sorry, not getting your point.
> If there is an issue, then it is the same as __rte_experimental.
> 
No, there is no issue, I'm just blind.  For some reason cscope wasn't finding
the definition of __rte_experimental_var when I applied your patch for me.  Its
clear you have it below.

Acked-by: Neil Horman <nhorman at tuxdriver.com>

> [snip]
> 
> > > diff --git a/lib/librte_eal/common/include/rte_compat.h b/lib/librte_eal/common/include/rte_compat.h
> > > index 3eb33784b..3fd05179f 100644
> > > --- a/lib/librte_eal/common/include/rte_compat.h
> > > +++ b/lib/librte_eal/common/include/rte_compat.h
> > > @@ -11,11 +11,16 @@
> > >  #define __rte_experimental \
> > >  __attribute__((deprecated("Symbol is not yet part of stable ABI"), \
> > >  section(".text.experimental")))
> > > +#define __rte_experimental_var \
> > > +__attribute__((deprecated("Symbol is not yet part of stable ABI"), \
> > > +section(".data.experimental")))
> > >
> > >  #else
> > >
> > >  #define __rte_experimental \
> > >  __attribute__((section(".text.experimental")))
> > > +#define __rte_experimental_var \
> > > +__attribute__((section(".data.experimental")))
> > >
> > >  #endif
> > >
> 
> 
> -- 
> David Marchand
> 
> 


More information about the stable mailing list