Messages in this thread | | | Date | Tue, 17 Aug 2021 13:28:16 +0100 | From | Will Deacon <> | 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
| |