Thread (5 messages) 5 messages, 5 authors, 2018-03-28

Re: [PATCH] docs/memory-barriers.txt: Fix broken DMA vs MMIO ordering example

From: Peter Zijlstra <peterz@infradead.org>
Date: 2018-03-28 18:03:41
Also in: lkml

On Wed, Mar 28, 2018 at 10:57:11AM -0700, Tony Luck wrote:
On Wed, Mar 28, 2018 at 6:02 AM, Sinan Kaya [off-list ref] wrote:
quoted
+linux-ia64
Does IA64 follow this requirement? If not, is implementation planned?

"no wmb() before writel()"

Linus asked us to get rid of wmb() in front of writel() for UC memory.
Just checking that we are not breaking anything for IA64.
We should be OK on ia64, writel() uses a cast to:

 *(volatile unsigned int __force *)

which the compiler takes as a request to use a "st4.rel" instruction
(meaning "store with release semantics"). So the value stored will
be visible to anything that follows.
Just to nitpick, regular release semantics don't guarantee anything like
that, but ia64 never actually got around to implementing proper release
and it's a full barrier and thus what you say is true.
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help