RFC on writel and writel_relaxed

Arnd Bergmann arnd at arndb.de
Tue Mar 27 18:56:47 AEDT 2018


On Tue, Mar 27, 2018 at 12:27 AM, Jason Gunthorpe <jgg at ziepe.ca> wrote:
> On Tue, Mar 27, 2018 at 09:01:57AM +1100, Benjamin Herrenschmidt wrote:
>> On Mon, 2018-03-26 at 17:46 -0400, Sinan Kaya wrote:
>
> I even see patches adding wmb() based on actual observed memory
> corruption during testing on Intel:
>
> https://patchwork.kernel.org/patch/10177207/
>
> So you think all of this is unnecessary and writel is totally strongly
> ordered, even on multi-socket Intel?

This example adds a wmb() between two writes to a coherent DMA
area, it is definitely required there. I'm pretty sure I've never seen
any bug reports pointing to a missing wmb() between memory
and MMIO write accesses, but if you remember seeing them in the
list, maybe you can look again for some evidence of something going
wrong on x86 without it?

       Arnd


More information about the Linuxppc-dev mailing list