RFC on writel and writel_relaxed
Benjamin Herrenschmidt
benh at kernel.crashing.org
Wed Mar 28 20:56:50 AEDT 2018
On Wed, 2018-03-28 at 10:09 +0100, Will Deacon wrote:
> On Wed, Mar 28, 2018 at 09:00:01AM +0000, David Laight wrote:
> > From: Will Deacon
> > > Sent: 28 March 2018 09:54
> >
> > ...
> > > > > I don't think so. My reading of memory-barriers.txt says that writeX might
> > > > > expand to outX, and outX is not ordered with respect to other types of
> > > > > memory.
> > > >
> > > > Ugh ?
> > > >
> > > > My understanding of HW at least is the exact opposite. outX is *more*
> > > > ordered if anything, than any other accessors. IO space is completely
> > > > synchronous, non posted and ordered afaik.
> > >
> > > I'm just going by memory-barriers.txt:
> > >
> > >
> > > (*) inX(), outX():
> > >
> > > [...]
> > >
> > > They are guaranteed to be fully ordered with respect to each other.
> > >
> > > They are not guaranteed to be fully ordered with respect to other types of
> > > memory and I/O operation.
> >
> > A long time ago there was a document from Intel that said that inb/outb weren't
> > necessarily synchronised wrt memory accesses.
> > (Might be P-pro era).
> > However no processors actually behaved that way and more recent docs
> > say that inb/outb are fully ordered.
>
> Thank you, David! I'll write another patch fixing this up and hopefully
> we'll soon have one making writeX/readX much clearer.
Thanks for doing the grunt work Will ! :-)
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list