[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: svn commit: r1841078 - in /apr/apr/trunk: CHANGES apr.dsp atomic/unix/builtins64.c atomic/unix/mutex64.c atomic/win32/apr_atomic64.c include/apr_atomic.h include/arch/unix/apr_arch_atomic.h test/testatomic.c

On Mon, Sep 17, 2018 at 5:52 PM Jim Jagielski <jim@xxxxxxxxxxx> wrote:
> Would like to also propose for apr-1.7...

How about 128bit? :p

There are __int128 (gcc) and _m128 (MSVC) and most 64bit intel/amd
CPUs support cmpxchg16b.
Intrinsics work on gcc, and (eg.) _InterlockedCompareExchange128 on Windows.

This can be very useful to avoid the ABA problem when doing atomics
with 64bit pointers.
For instance, MPM event could benefit from that (see PR 62141)...