On Sat, Sep 29, 2007 at 12:12:52PM -0700, Davide Libenzi wrote: > On Sat, 29 Sep 2007, Nick Piggin wrote: > > > [ This is true for x86's sfence/lfence, but raises a question about Linux's > > memory barriers. Does anybody expect that a sequence of smp_wmb and smp_rmb > > would ever provide a full smp_mb barrier? I've always assumed no, but I > > don't know if it is actually documented? ] > > No, that can't be. rmb+wmb can't be considered a full mb.
Oh I realise it doesn't work with current implementations (powerpc at least also would be broken I think). And I've always assumed no... But the question was just whether the Linux memory model requires it (it theoretically could require that smp_rmb is sequentially ordered WRT smp_wmb without actually sequentially ordering stores around itself). > There was a > recent discussion about this in the thread originated by peterz scalable > rw_mutex patches. OK, good to hear it has been discussed. I didn't see anything explicit in the documentation about it. A lot of the literature often says that "barrier instructions" have a sequential ordering, so it could be useful to explicitly say this isn't the case for Linux for rmb vs wmb. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/