Not they are all dependent as the first patch modifies the API (especially the definition of the atomic types) and then all files that use this API must be updated in order to compile. That's the way it is. If only Petri had used a struct for the atomic types to start with.
I did not know that we required all patches to be independently appliable. It was Petri who required that the patch be split. He approved of the change to odp_atomic.h. -- Ola On 21 November 2014 00:54, Mike Holmes <[email protected]> wrote: > Ola > > I was not able to apply these one at a time, that will make git bisect > impossible. > > On 20 November 2014 06:53, Ola Liljedahl <[email protected]> wrote: >> >> Some of these changes (e.g. use of GCC __atomic builtins) are in >> preparation >> for the appearance of odp_atomic_internal.h but these patches can be >> merged >> separately. >> >> odp_atomic.h: >> Use struct for 32- and 64-bit atomic types, this prevents non-atomic >> access >> to atomic variables and enables additional fields as possibly required by >> some implementations. >> Use GCC __atomic builtins with relaxed memory model (previously __sync >> builtins). >> Made some 64-bit operations (e.g. load, store) atomic on 32-bit >> architectures. >> 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). >> Added missing atomic_add_u32, atomic_sub_u32 and atomic_sub_64 operations. >> Removed 32- and 64-bit cmpset operations (to be reintroduced in >> odp_atomic_intermal.h). >> >> odp_generator.c: >> Updated to use odp_atomic.h operations with atomic types. >> >> odp_barrier.h: >> Minor function signature change (int -> uint32_t). >> >> odp_spin_internal.h: >> Removed odp_mem_barrier() which is a compiler only barrier and basically >> useless and dangerous on all weakly ordered architectures. It was only >> used >> by odp_ring.c. >> >> odp_barrier.c: >> Updated to use odp_atomic.h typese and functions. Fixed broken >> (non-atomic) >> wrap-around of 'bar'. >> >> 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 >> (tmp fix). >> >> odp_rwlock.c: >> Updated to use odp_atomic.h. Updated to use GCC __atomic facilities (tmp >> fix). >> >> odp_ticketlock.c: >> Updated to use odp_atomic.h. Updated to use GCC __atomic facilities (tmp >> fix). Fixed 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. >> >> Ola Liljedahl (7): >> api: odp_atomic.h: use struct type, relaxed implem, missing funcs >> api: odp_barrier.h: signature change, use odp_atomic.h, atomic >> wrap-around fix >> linux-generic: odp_ring.c: use __atomic cmpset, added missing >> barriers, removed dangerous odp_mem_barrier >> linux-generic: odp_ticketlock.c: use odp_atomic.h and __atomic (tmp), >> added missing barrier >> linux-generic: odp_rwlock.c: use odp_atomic.h and GCC __atomic (tmp) >> linux-generic: odp_buffer.c: use odp_atomic.h >> example: odp_generator.c: use odp_atomic.h >> >> example/generator/odp_generator.c | 28 ++- >> platform/linux-generic/include/api/odp_atomic.h | 269 >> +++++++++++++-------- >> platform/linux-generic/include/api/odp_barrier.h | 2 +- >> 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 | 12 +- >> test/api_test/odp_atomic_test.c | 31 +-- >> 10 files changed, 253 insertions(+), 170 deletions(-) >> >> -- >> 1.9.1 >> >> >> _______________________________________________ >> lng-odp mailing list >> [email protected] >> http://lists.linaro.org/mailman/listinfo/lng-odp > > > > > -- > Mike Holmes > Linaro Sr Technical Manager > LNG - ODP _______________________________________________ lng-odp mailing list [email protected] http://lists.linaro.org/mailman/listinfo/lng-odp
