On Sat, Sep 28, 2013 at 12:21 PM, Ingo Molnar<mingo@xxxxxxxxxx> wrote:If we do that then I suspect the next step will be queued rwlocks :-/ TheYeah, I'm not happy about or rwlocks. That's one lock that currently
current rwlock_t implementation is rather primitive by modern standards.
(We'd probably have killed rwlock_t long ago if not for the
tasklist_lock.)
is so broken that I think we could easily argue for making that one
queued.
Waiman had a qrwlock series that looked reasonable, and I think his
later versions were drop-in replacements (ie they automatically just
did the RightThing(tm) wrt interrupts taking a recursive read lock - I
objected to the first versions that required that to be stated
explicitly).
I think Waiman's patches (even the later ones) made the queued rwlocks
be a side-by-side implementation with the old rwlocks, and I think
that was just being unnecessarily careful. It might be useful for
testing to have a config option to switch between the two, but we
might as well go all the way.