07/07/2021 21:04, Honnappa Nagarahalli:
> <snip>
> 
> > 
> > In the deprecation notices of DPDK 21.05, we can still read this:
> > "
> > * 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. This change will not introduce any
> >   performance degradation.
> > 
> > * 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. This change will not introduce any performance degradation.
> > "
> > 
> > Should we keep these notifications forever?
> I do not think we need to keep them forever (unless the precedence is to keep 
> all the older deprecations).
> 
> > 
> > It is very difficult to find which wrapper to use.
> Actually, the deprecations are incorrect on the 'wrappers'.
> When the deprecations were added, the understanding was we will develop 
> wrappers, the discussion was not concluded. When we made the decision, we 
> decided to use the C++11 atomic built-ins. Only wrapper developed was 
> rte_atomic_thread_fence. This is documented in the following blog.
> 
> > 
> > This is the guide we have:
> > https://doc.dpdk.org/guides/prog_guide/writing_efficient_code.html#locks-
> > and-atomic-operations
> > There are 2 blog posts:
> > https://www.dpdk.org/blog/2021/03/26/dpdk-adopts-the-c11-memory-
> > model/
> > https://www.dpdk.org/blog/2021/06/09/reader-writer-concurrency/
> > 
> > Basically it says we should use "__atomic builtins" but there is example for
> > simple situations like counters, memory barriers, etc.
> > Please who could work on improving the documentation?
> There is good amount of information on how to use the __atomic builtins for 
> counters, memory barriers etc.
> It would make sense to document something in DPDK if we implement our own 
> wrappers.

Please fix deprecation notice and think about
how to document the compiler builtin choice.



Reply via email to