On Wed, Apr 30, 2014 at 4:04 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > Let me go talk to the paravirt people. Maybe they don't need this, and > I don't know exactly *how* they use that lock pointer after the unlock > in the "kick waiters" part. Maybe it's all good. .. looking at current users (xen and kvm) it does in fact look all good. Yes, we "kick" possible waiters after the unlock, but the lock itself is not touched by that, it just uses the pointer to the lock as a way to figure out who to kick. In fact, I kind of knew that, but had forgotten. We very much depend on spin_unlock being safe wrt immediate deleton already: the "completion" code very much depends on it. It does a "spin_unlock()" to release the completion, and it can get reused immediately (it might be on the stack, it might be in some data structure that gets freed). So I'd suggest removing that whole RCU thing, because it should be safe to unlock something that can go away immediately. We'd have huge problems elsewhere if it wasn't safe. 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