Re: [RFC patch 08/18] cnt32_to_63 should use smp_rmb()

David Howells
2008-11-07T23:51:50Z

Steven Rostedt <rostedt@goodmis.org> wrote:

> > I use smp_rmb() to do this on SMP systems (hrm, actually, a rmb() could
> > be required so it works also on UP systems safely wrt interrupts).
>
> smp_rmb turns into a compiler barrier on UP and should prevent the below
> description.

Note that that does not guarantee that the two reads will be done in the order
you want. The compiler barrier _only_ affects the compiler. It does not stop
the CPU from doing the reads in any order it wants. You need something
stronger than smp_rmb() if you need the reads to be so ordered.

David