Fixed on master. I forgot a write memory barrier in the 64-bit version of opal_fifo_pop_atomic.
-Nathan On Thu, Jan 08, 2015 at 02:29:05PM +0100, Adrian Reber wrote: > I am trying to build OMPI git master on ppc64 (PPC970MP) and > test/class/opal_fifo fails during make check most of the time. > > [adrian@bimini class]$ ./opal_fifo > Single thread test. Time: 0 s 99714 us 99 nsec/poppush > Atomics thread finished. Time: 0 s 347577 us 347 nsec/poppush > Atomics thread finished. Time: 11 s 490743 us 11490 nsec/poppush > Atomics thread finished. Time: 11 s 567542 us 11567 nsec/poppush > Atomics thread finished. Time: 11 s 655924 us 11655 nsec/poppush > Atomics thread finished. Time: 11 s 786925 us 11786 nsec/poppush > Atomics thread finished. Time: 11 s 931230 us 11931 nsec/poppush > Atomics thread finished. Time: 12 s 11617 us 12011 nsec/poppush > Atomics thread finished. Time: 12 s 63224 us 12063 nsec/poppush > Atomics thread finished. Time: 12 s 65844 us 12065 nsec/poppush > Failure : fifo push/pop multi-threaded with atomics > All threads finished. Thread count: 8 Time: 12 s 66103 us 1508 nsec/poppush > Exhaustive atomics thread finished. Popped 11982 items. Time: 3 s 700703 us > 308855 nsec/poppush > Exhaustive atomics thread finished. Popped 12171 items. Time: 3 s 759974 us > 308928 nsec/poppush > Exhaustive atomics thread finished. Popped 11593 items. Time: 3 s 787227 us > 326682 nsec/poppush > Exhaustive atomics thread finished. Popped 11079 items. Time: 3 s 786468 us > 341769 nsec/poppush > Exhaustive atomics thread finished. Popped 16467 items. Time: 4 s 7891 us > 243389 nsec/poppush > Exhaustive atomics thread finished. Popped 11097 items. Time: 4 s 68897 us > 366666 nsec/poppush > Exhaustive atomics thread finished. Popped 25583 items. Time: 4 s 89074 us > 159835 nsec/poppush > Exhaustive atomics thread finished. Popped 22092 items. Time: 4 s 82373 us > 184789 nsec/poppush > Failure : fifo push/pop multi-threaded with atomics when there are > insufficient items > All threads finished. Thread count: 8 Time: 4 s 93369 us 511 nsec/poppush > Failure : fifo pop all items > SUPPORT: OMPI Test failed: opal_fifo_t (3 of 8 failed) > > I had a look at the memory barriers in opal/include/opal/sys/powerpc/atomic.h > and from what little I remember about PPC64 those look correct: > > #define MB() __asm__ __volatile__ ("sync" : : : "memory") > #define RMB() __asm__ __volatile__ ("lwsync" : : : "memory") > #define WMB() __asm__ __volatile__ ("eieio" : : : "memory") > > The system is running Fedora 21 with gcc 4.9.2 and if this platform > is still relevant I can provide SSH access to the machine > for further debugging. > > Adrian > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2015/01/16760.php
pgpnGGZNU7Uit.pgp
Description: PGP signature