On Mon, Nov 17, 2014 at 9:18 AM, Alexander Duyck
<alexander.h.duyck@xxxxxxxxxx> wrote:
There are a number of situations where the mandatory barriers rmb() andUgh. I absolutely despise the name.
wmb() are used to order memory/memory operations in the device drivers
and those barriers are much heavier than they actually need to be.
It's not "fast". It's just limited. It's the same as "smp_*mb()", in
that it works on cacheable memory, but it actually stays around even
for non-SMP builds.
So I think the name is actively misleading.
Naming should be about what it does, not about some kind of PR thing
that confuses people into thinking it's "better".
Maybe "dma_*mb()" would be acceptable, and ends up having the same
naming convention as "smb_*mb()", and explains what it's about.
And yes, in the same spirit, it would probably be good to try to
eventually get rid of the plain "*mb()" functions, and perhaps call
them "mmio_*mb()" to clarify that they are about ordering memory wrt
mmio.
Hmm?
Linus