[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210817122816.GA12746@willie-the-truck>
Date: Tue, 17 Aug 2021 13:28:16 +0100
From: Will Deacon <will@...nel.org>
To: "Paul E. McKenney" <paulmck@...nel.org>
Cc: Alan Stern <stern@...land.harvard.edu>,
Marco Elver <elver@...gle.com>,
Boqun Feng <boqun.feng@...il.com>,
Andrea Parri <parri.andrea@...il.com>,
Mark Rutland <mark.rutland@....com>,
Dmitry Vyukov <dvyukov@...gle.com>, kasan-dev@...glegroups.com,
linux-kernel@...r.kernel.org
Subject: Re: LKMM: Read dependencies of writes ordered by dma_wmb()?
Just on this bit...
On Mon, Aug 16, 2021 at 01:50:57PM -0700, Paul E. McKenney wrote:
> 5. The dma_mb(), dma_rmb(), and dma_wmb() appear to be specific
> to ARMv8.
These are useful on other architectures too! IIRC, they were added by x86 in
the first place. They're designed to be used with dma_alloc_coherent()
allocations where you're sharing something like a ring buffer with a device
and they guarantee accesses won't be reordered before they become visible
to the device. They _also_ provide the same ordering to other CPUs.
I gave a talk at LPC about some of this, which might help (or might make
things worse...):
https://www.youtube.com/watch?v=i6DayghhA8Q
Ignore the bits about mmiowb() as we got rid of that.
Will
Powered by blists - more mailing lists