Re: MMIO and gcc re-ordering issue
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2008-06-03 14:48:16
Also in:
linux-arch, lkml
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2008-06-03 14:48:16
Also in:
linux-arch, lkml
On Tue, 3 Jun 2008, Nick Piggin wrote:
Linus: on x86, memory operations to wc and wc+ memory are not ordered with one another, or operations to other memory types (ie. load/load and store/store reordering is allowed). Also, as you know, store/load reordering is explicitly allowed as well, which covers all memory types. So perhaps it is not quite true to say readl/writel is strongly ordered by default even on x86. You would have to put in some mfence instructions in them to make it so.
Well, you have to ask for WC/WC+ anyway, so it's immaterial. A driver that does that needs to be aware of it. IOW, it's a non-issue, imnsho. Linus