Mon Jun 27 16:47:34 EDT 2011
doesn't need to provide that level of ordering as its supposed to be
an inter-CPU barrier - which probably means we need to invent a new
barrier to deal with DMA memory ordering. However, given the
difficulty of getting the existing barriers placed correctly, I don't
think inventing new barriers is a very good idea.
What we can do is view devices which perform DMA as being strongly
ordered with respect to their memory accesses - iow, they have an
implicit memory barrier before and after their accesses to memory.
This would make the CPUs use of mb() have a conceptual pairing with
the DMA agents.
More information about the linux-arm-kernel