Messages in this thread | | | Date | Sun, 30 Sep 2007 14:05:45 +0200 | From | Nick Piggin <> | Subject | Re: [rfc][patch] i386: remove comment about barriers |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |