Hello, On Tue, Aug 22, 2023 at 11:00 PM Tyler Retzlaff <roret...@linux.microsoft.com> wrote: > > This series introduces API additions prefixed in the rte namespace that allow > the optional use of stdatomics.h from C11 using enable_stdatomics=true for > targets where enable_stdatomics=false no functional change is intended. > > Be aware this does not contain all changes to use stdatomics across the DPDK > tree it only introduces the minimum to allow the option to be used which is > a pre-requisite for a clean CI (probably using clang) that can be run > with enable_stdatomics=true enabled. > > It is planned that subsequent series will be introduced per lib/driver as > appropriate to further enable stdatomics use when enable_stdatomics=true. > > Notes: > > * Additional libraries beyond EAL make visible atomics use across the > API/ABI surface they will be converted in the subsequent series. > > * The eal: add rte atomic qualifier with casts patch needs some discussion > as to whether or not the legacy rte_atomic APIs should be converted to > work with enable_stdatomic=true right now some implementation dependent > casts are used to prevent cascading / having to convert too much in > the intial series. > > * Windows will obviously need complete conversion of libraries including > atomics that are not crossing API/ABI boundaries. those conversions will > introduced in separate series as new along side the existing msvc series. > > Please keep in mind we would like to prioritize the review / acceptance of > this patch since it needs to be completed in the 23.11 merge window. > > Thank you all for the discussion that lead to the formation of this series.
I did a number of updates on this v6: - moved rte_stdatomic.h from patch 1 to later patches where needed, - added a RN entry, - tried to consistently/adjusted indent, - fixed mentions of stdatomic*s* to simple atomic, like in the build option name, - removed unneded comments (Thomas review on patch 1), Series applied, thanks Tyler. Two things are missing: - add doxygen tags in the new API (this can be fixed later in this release, can you look at it?), - add compilation tests for enable_stdatomic (I'll send a patch soon for devtools and GHA), -- David Marchand