Messages in this thread | | | Date | Fri, 7 Nov 2008 12:55:12 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [RFC patch 08/18] cnt32_to_63 should use smp_rmb() |
| |
On Fri, Nov 07, 2008 at 03:08:12PM -0500, Steven Rostedt wrote: > > On Fri, 7 Nov 2008, Mathieu Desnoyers wrote: > > > > I want to make sure > > > > __m_cnt_hi > > is read before > > mmio cnt_lo read > > Hmm, let me make sure I understand why there is no wmb. > > Paul, can you verify this? > > Mathieu, you do the following: > > read a > smp_rmb > reab b > if (test b) > write a > > So the idea is that you must read b to test it. And since we must read a > before reading b we can see that we write a before either? > > The question remains, can the write happen before either of the reads? > > But since the read b is reading the hw clock, perhaps that just implies a > wmb on the hardware side?
The hardware must do an equivalent of a wmb(), but this might well be done in logic or firmware on the device itself.
Thanx, Paul
| |