RFC abstracting atomics

Tyler Retzlaff roretzla at linux.microsoft.com
Mon Jan 9 23:56:04 CET 2023


hi folks,

i would like to introduce a layer of abstraction that would allow
optional use of standard C11 atomics when the platform / toolchain
combination has them available.

making the option usable would be a phased approach intended to focus
review and minimize dealing with churn on such a broad change.

1. provide an initial series to add the abstraction and the ability
   control enablement with a meson option enable_stdatomics=false will
   be the default.

   for all existing platform / toolchain combinations the default would
   remain false. i.e. i have no plans to enable it for existing platforms
   toolchain combinations but leaves a change of default open to the
   community as a future discussion if it is desired.

2. once the initial abstraction is integrated a series will be introduced to
   port the tree to the abstraction with enable_stdatomics=false. the goal
   being low or no change to the current use of gcc builtin C++11 memory
   model atomics.

3. once the tree is ported a final series will be introduced to introduce
   the remaining change to allow the use of enable_stdatomics=true.

would appreciate any assistance / suggestions you can provide to
introduce the abstraction smoothly.

thanks


More information about the dev mailing list