• Will Deacon's avatar
    locking/memory-barriers.txt: Fix broken DMA vs. MMIO ordering example · 5846581e
    Will Deacon authored
    The section of memory-barriers.txt that describes the dma_Xmb() barriers
    has an incorrect example claiming that a wmb() is required after writing
    to coherent memory in order for those writes to be visible to a device
    before a subsequent MMIO access using writel() can reach the device.
    
    In fact, this ordering guarantee is provided (at significant cost on some
    architectures such as arm and power) by writel, so the wmb() is not
    necessary. writel_relaxed exists for cases where this ordering is not
    required.
    
    Fix the example and update the text to make this clearer.
    Reported-by: default avatarSinan Kaya <okaya@codeaurora.org>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Jason Gunthorpe <jgg@ziepe.ca>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: akiyks@gmail.com
    Cc: boqun.feng@gmail.com
    Cc: dhowells@redhat.com
    Cc: j.alglave@ucl.ac.uk
    Cc: linux-arch@vger.kernel.org
    Cc: luc.maranget@inria.fr
    Cc: npiggin@gmail.com
    Cc: parri.andrea@gmail.com
    Cc: stern@rowland.harvard.edu
    Link: http://lkml.kernel.org/r/1526338533-6044-1-git-send-email-paulmck@linux.vnet.ibm.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    5846581e
memory-barriers.txt 114 KB