On Thu, Oct 3, 2013 at 5:41 PM, Josh Triplett <josh@xxxxxxxxxxxxxxxx> wrote: > > Read, yes, but I don't think that's enough to force your example above > to work in all cases. That requires semantics beyond what RCU's > primitives guarantee, and I don't think you can draw conclusions about > those semantics without talking about CPU memory barriers. We seriosly depend on nothing leaking out. Not just reads. The "U" in RCU is "update". So it's reads, and it's writes. The fact that it says "read" in "rcu_read_lock()" doesn't mean that only reads would be affected. And no, this still has nothing to do with memory barriers. Every single RCU user depends on the memory freeing being delayed by RCU, for example. And again, that's not just reads. It's people taking spinlocks on things that are RCU-protected etc. So no, there is no question about this. The only question would be whether we have some RCU mode that is _buggy_, not whether you need extra memory barriers. And that is certainly possible. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html