[lttng-dev] [PATCH v2 05/12] urcu/uatomic: Add CMM memory model
Olivier Dion
odion at efficios.com
Thu Jun 29 12:49:00 EDT 2023
On Wed, 21 Jun 2023, "Paul E. McKenney" <paulmck at kernel.org> wrote:
> On Wed, Jun 07, 2023 at 02:53:52PM -0400, Olivier Dion wrote:
>> -#ifdef __URCU_DEREFERENCE_USE_ATOMIC_CONSUME
>> -# define _rcu_dereference(p) __extension__ ({ \
>> - __typeof__(__extension__ ({ \
>> - __typeof__(p) __attribute__((unused)) _________p0 = { 0 }; \
>> - _________p0; \
>> - })) _________p1; \
>> - __atomic_load(&(p), &_________p1, __ATOMIC_CONSUME); \
>
> There is talk of getting rid of memory_order_consume. But for the moment,
> it is what there is. Another alternative is to use a volatile load,
> similar to old-style CMM_LOAD_SHARED() or in-kernel READ_ONCE().
I think we can stick to __ATOMIC_CONSUME for now. Hopefully getting rid
of it means it will be an alias for __ATOMIC_ACQUIRE for ever.
--
Olivier Dion
EfficiOS Inc.
https://www.efficios.com
More information about the lttng-dev
mailing list