Re: [PATCH 17/17] RCU'd vfsmounts

From: Linus Torvalds
Date: Thu Oct 03 2013 - 20:45:28 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/