[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081108003436.GI6917@linux.vnet.ibm.com>
Date: Fri, 7 Nov 2008 16:34:36 -0800
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Mathieu Desnoyers <compudj@...stal.dyndns.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
David Howells <dhowells@...hat.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
akpm@...ux-foundation.org, Ingo Molnar <mingo@...e.hu>,
linux-kernel@...r.kernel.org, Nicolas Pitre <nico@....org>,
Ralf Baechle <ralf@...ux-mips.org>, benh@...nel.crashing.org,
paulus@...ba.org, David Miller <davem@...emloft.net>,
Ingo Molnar <mingo@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-arch@...r.kernel.org
Subject: Re: [RFC patch 08/18] cnt32_to_63 should use smp_rmb()
On Fri, Nov 07, 2008 at 04:04:48PM -0500, Steven Rostedt wrote:
>
> On Fri, 7 Nov 2008, Paul E. McKenney wrote:
> > > > Would that make more sense ?
> > > >
> > >
> > > Oh, actually, I got things reversed in this email : the readl(io_addr)
> > > must be done _after_ the __m_cnt_hi read.
> > >
> > > Therefore, two consecutive executions would look like :
> > >
> > > barrier(); /* Make sure the compiler does not reorder __m_cnt_hi and
> > > previous mmio read. */
> > > read __m_cnt_hi
> > > smp_rmb(); /* Waits for every cached memory reads to complete */
> >
> > If these are MMIO reads, then you need rmb() rather than smp_rmb(),
> > at least on architectures that can reorder writes (Power, Itanium,
> > and I believe also ARM, ...).
>
> The read is from a clock source. The only writes that are happening is
> by the clock itself.
>
> On a UP system, is a rmb still needed? That is, can you have two reads on
> the same CPU from the clock source that will produce a backwards clock?
> That to me sounds like the clock interface is broken.
I do not believe that all CPUs are guaranteed to execute a sequence
of MMIO reads in order.
Thanx, Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists