]> git.lttng.org Git - urcu.git/commit
Seperate uatomic and uatomic_mo
authorOlivier Dion <odion@efficios.com>
Mon, 21 Oct 2024 17:18:08 +0000 (13:18 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 2 Dec 2024 18:17:40 +0000 (13:17 -0500)
commit438b2d8886b85dfd9ba2dd496479fdcc4f5ecac5
tree76ed2bab31eb206dd7fd124e3e75ce81ed1aa91e
parenta84350f8f14be2a8e02457ccc59844fe0815abc7
Seperate uatomic and uatomic_mo

The API for uatomic is now defined under `urcu/uatomic/api.h', which is
included by `urcu/uatomic.h'.  All definitions are macros that dispatch
to their `_mo' counterpart.  The default argument is set for the memory
order for backward compatibility.

This means that only the `uatomic_*_mo' must be implemented either
generically or by architecture.

This also remove the C11 compatibility layer in x86.  Indeed, since RMW
operations are always guaranteed to have a full fence, then it is safe
to ignore the memory ordering.  This is because all used sync operations
are documented as been "considered as a full barrier".  See
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html.

Change-Id: I6be8c45b1758f268e7406bb17ab0086f9e9f5d4e
Signed-off-by: Olivier Dion <odion@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/Makefile.am
include/urcu/uatomic.h
include/urcu/uatomic/api.h [new file with mode: 0644]
include/urcu/uatomic/arm.h
include/urcu/uatomic/builtins-generic.h
include/urcu/uatomic/generic.h
include/urcu/uatomic/ppc.h
include/urcu/uatomic/s390.h
include/urcu/uatomic/sparc64.h
include/urcu/uatomic/x86.h
This page took 0.030835 seconds and 4 git commands to generate.