[dpdk-dev] [PATCH v1] test/ticketlock: use C11 atomic builtins for lcores sync

Stephen Hemminger stephen at networkplumber.org
Fri Apr 30 02:53:30 CEST 2021


On Thu, 29 Apr 2021 21:10:04 +0000
Honnappa Nagarahalli <Honnappa.Nagarahalli at arm.com> wrote:

> <snip>
> 
> > >  
> > > > Subject: Re: [dpdk-dev] [PATCH v1] test/ticketlock: use C11 atomic
> > > > builtins for lcores sync
> > > >
> > > > On Wed, Apr 21, 2021 at 02:17:33AM -0500, Joyce Kong wrote:  
> > > > > Convert rte_atomic usages to C11 atomic builtins for lcores sync
> > > > > in ticketlock testcases.  
> > > >
> > > > gcc atomic builtins aren't 'C11'  
> > > Sorry, I did not understand this, can you elaborate? I am referring to [1].  
> > 
> > your subject line indicates the use of C11 which is a standard [1].
> > 
> > the patch itself uses gcc atomics builtins which are not part of C11 standard so
> > the subject line is incorrect and misleading.  
> Ok, understood. How about the following?
> "use gcc's C11 atomic built-ins for lcore synchronization"
> 
> > 
> > [1] http://www.open-std.org/jtc1/sc22/wg14/www/standards.html#9899
> >   
> > >
> > > Not sure if these compilers are supported in DPDK. DPDK officially supports  
> > gcc, clang (not sure on icc).
> > 
> > dpdk may incorporate support for other compilers in the future so unless there is
> > substantive justification for moving to non-standard/non-portable code i'm
> > asking that this change not be made as it will complicate those future efforts.  
> There is some history [1] behind why we are doing this. I guess new compiler support needs to be discussed in the future.
> 
> [1] https://www.dpdk.org/blog/2021/03/26/dpdk-adopts-the-c11-memory-model/

Footnote: C++ 11 standard memory model (see https://en.cppreference.com/w/cpp/atomic/memory_order)
which is made available as builtin extensions in clang and gcc.





More information about the dev mailing list