On 11/17/2014 12:04 PM, Benjamin Herrenschmidt wrote: > On Mon, 2014-11-17 at 09:18 -0800, Alexander Duyck wrote: >> There are a number of situations where the mandatory barriers rmb() and >> wmb() are used to order memory/memory operations in the device drivers >> and those barriers are much heavier than they actually need to be. For >> example in the case of PowerPC wmb() calls the heavy-weight sync >> instruction when for memory/memory operations all that is really needed is >> an lsync or eieio instruction. > So essentially those are the same as the smp_* variants but not nop'ed > out on !CONFIG_SMP right ? > > Ben. > Yes and no. So for example on ARM I used the dmb() operation, however I have to use the barrier at the system level instead of just the inner shared domain. However on many other architectures they are just the same as the smp_* variants. Basically the resultant code is somewhere between the smp and non-smp barriers in terms of what they cover. Thanks, Alex -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html