[dpdk-dev] [PATCH] doc: announce adoption of C11 atomic operations semantics

Ananyev, Konstantin konstantin.ananyev at intel.com
Thu May 21 12:33:40 CEST 2020


> >
> > As agreed in the DPDK tech board [1], after 20.05 release, patches must
> > use C11 atomic operations semantics with the help of wrappers.
> >
> > [1] http://mails.dpdk.org/archives/dev/2020-April/165143.html
> >
> > Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
> > Reviewed-by: Phil Yang <phil.yang at arm.com>
> > Reviewed-by: Ruifeng Wang <ruifeng.wang at arm.com>
> 
> > ---
> >  doc/guides/rel_notes/deprecation.rst | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> >
> > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > index 20aa745..208708d 100644
> > --- a/doc/guides/rel_notes/deprecation.rst
> > +++ b/doc/guides/rel_notes/deprecation.rst
> > @@ -113,3 +113,15 @@ Deprecation Notices
> >    Python 2 support will be completely removed in 20.11.
> >    In 20.08, explicit deprecation warnings will be displayed when running
> >    scripts with Python 2.
> > +
> > +* rte_atomicNN_xxx: These APIs do not take memory order parameter. This does
> > +  not allow for writing optimized code for all the CPU architectures supported
> > +  in DPDK. DPDK will adopt C11 atomic operations semantics and provide wrappers
> > +  using C11 atomic built-ins. These wrappers must be used for patches that
> > +  need to be merged in 20.08 onwards.
> > +
> > +* rte_smp_*mb: These APIs provide full barrier functionality. However, many
> > +  use cases do not require full barriers. To support such use cases, DPDK will
> > +  adopt C11 barrier semantics and provide wrappers using C11 atomic built-ins.
> > +  These wrappers must be used for patches that need to be merged in 20.08
> > +  onwards.
> > --

Can we probably add a note that new API supposed to not introduce
performance degradation comparing to one we are going to deprecate?
Thanks
Konstantin



More information about the dev mailing list