On Mon, Oct 20, 2014 at 04:41:45PM -0700, Linus Torvalds wrote: > On Mon, Oct 20, 2014 at 2:56 PM, Peter Zijlstra <pet...@infradead.org> wrote: > > Manage the VMAs with SRCU such that we can do a lockless VMA lookup. > > Can you explain why srcu, and not plain regular rcu? > > Especially as you then *note* some of the problems srcu can have. > Making it regular rcu would also seem to make it possible to make the > seqlock be just a seqcount, no?
Ah, the reason I did the seqlock is because the read side will spin-wait for &1 to go away. If the write side is preemptible that's horrid. I used seqlock because that takes a lock (and thus disables preemption) on the write side, but I could equally have done: preempt_disable(); write_seqcount_begin(); ... write_seqcount_end(); preempt_disable(); Since the lock is indeed superfluous, we're already fully serialized by mmap_sem in this path. Using regular RCU isn't sufficient, because of PREEMPT_RCU. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/