On Mon, Sep 30, 2013 at 3:44 AM, Peter Zijlstra <pet...@infradead.org> wrote: > On Sat, Sep 28, 2013 at 12:33:36PM -0700, Linus Torvalds wrote: >> The old rwlock's really have been a disappointment - they are slower >> than spinlocks, and seldom/never end up scaling any better. Their >> main advantage was literally the irq behavior - allowing readers to >> happen without the expense of worrying about irq's. > > So in part that is fundamental to the whole rw-spinlock concept.
No, I agree. But it's really just that our rwlock implementation isn't very good. It's neither really high-performing nor fair, and the premise of a rw-lock is that it should scale better than a spinlock. And yes, under heavy reader activity *does* work out for that (ok, you get cacheline bouncing, but at least you don't get the spinning when you have tons of readers), the extreme unfairness towards writers under heavy reader activity makes it often simply unacceptable. So unlike a lot of other "let's try to make our locking fancy" that I dislike because it tends to hide the fundamental problem of contention, the rwlock patches make me go "those actually _fix_ a fundamental problem". Linus -- 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/