Why do you need the memory write barrier inside the loop ?

  George.


On Thu, Jan 8, 2015 at 11:16 AM, Nathan Hjelm <hje...@lanl.gov> wrote:

>
> 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
>
> _______________________________________________
> 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/16762.php
>

Reply via email to