The entire patch set: Reviewed-by: Petri Savolainen <petri.savolai...@linaro.org>
> -----Original Message----- > From: lng-odp-boun...@lists.linaro.org [mailto:lng-odp- > boun...@lists.linaro.org] On Behalf Of ext Ola Liljedahl > Sent: Tuesday, November 25, 2014 12:39 AM > To: lng-odp@lists.linaro.org > Subject: [lng-odp] [PATCH v3 0/9] Type-safe and relaxed atomics > > Patch set restructured (thanks git add -p), patches should build if > applied incrementially. > > Some of these changes are in preparation for the appearance of > odp_atomic_internal.h but these patch can be merged separately. > > odp_atomic.h: Use struct for 32- and 64-bit atomic types, this prevents > non-atomic access to atomic variables. Emulated 64-bit atomic support for > functionally challenged 32-bit architectures (e.g. PPC32). Relaxed memory > model for atomic operations, this enhances performance on weakly ordered > architectures (e.g. most RISC). Use GCC __atomic builtins (previously > __sync builtins). Added missing atomic_add_u32, atomic_sub_u32 and > atomic_sub_64 operations. Removed 32- and 64-bit cmpset operations. Made > some 64-bit operations (e.g. load, store) atomic on 32-bit architectures. > odp_generator.c: updated to use odp_atomic.h functins with atomic types. > odp_spin_internal.h: removed odp_mem_barrier() which is a compiler only > barrier and basically useless and dangerous on all weakly ordered > architectures. > odp_barrier.c: updated to use odp_atomic.h types and functions. Made > the wrap-around atomic. Restored a missing line that was lost to a later > patch. > odp_buffer.c: updated to use odp_atomic.h functions (ref_count). > odp_ring.c: added missing release barriers. Updated to use GCC __atomic > cmpset facility (temporary fix). > odp_rwlock.c: updated to use odp_atomic.h. Updated to use GCC __atomic > facilities (temporary fix). > odp_ticketlock.c: updated to use odp_atomic.h. Updated to use GCC __atomic > facilities (temporary fix). Added missing barrier in ticketlock_lock(). > odp_atomic_test.c: update to conform to latest odp_atomic.h syntax. Added > usage of odp_barrier_t instead of home grown thread barrier. Updated some > descriptions and help texts. > > Ola Liljedahl (9): > linux-generic: odp_ring.c use __atomic > linux-generic: odp_rwlock.c use __atomic > linux-generic: odp_buffer.c use odp_atomic.h > linux-generic: odp_barrier.c use __atomic > linux-generic: odp_generator.c use odp_atomic.h > linux-generic: odp_ticketlock.c use odp_atomic.h and __atomic > test: odp_atomic_test.c: use odp_barrier, fix descriptions > api: odp_atomic.h: struct type, relaxed mm, missing funcs, use > __atomic > linux-generic: odp_spin_internal.h: remove odp_mem_barrier > > example/generator/odp_generator.c | 24 +- > platform/linux-generic/include/api/odp_atomic.h | 271 +++++++++++++--- > ----- > platform/linux-generic/include/odp_spin_internal.h | 9 - > platform/linux-generic/odp_barrier.c | 17 +- > platform/linux-generic/odp_buffer.c | 3 +- > platform/linux-generic/odp_ring.c | 28 ++- > platform/linux-generic/odp_rwlock.c | 24 +- > platform/linux-generic/odp_ticketlock.c | 14 +- > test/api_test/odp_atomic_test.c | 48 ++-- > 9 files changed, 260 insertions(+), 178 deletions(-) > > -- > 1.9.1 > > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/lng-odp _______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org http://lists.linaro.org/mailman/listinfo/lng-odp