Re: [rfc] "fair" rw spinlocks

From: Nick Piggin
Date: Wed Nov 25 2009 - 01:54:19 EST


On Tue, Nov 24, 2009 at 09:47:56PM +0100, Andi Kleen wrote:
> Nick Piggin <npiggin@xxxxxxx> writes:
>
> > Hi,
> >
> > Last time this issue came up that I could see, I don't think
> > there were objections to making rwlocks fair, the main
> > difficulty seemed to be that we allow reentrant read locks
> > (so a write lock waiting must not block arbitrary read lockers).
> >
> > Nowadays our rwlock usage is smaller although still quite a
> > few, so it would make better sense to do a conversion by
> > introducing a new lock type and move them over I guess.
>
> You want to do a new lock type for potentially nested rwlocks?
>
> >From the basic idea it sounds good, but according
> to grep the current tree has hundreds of rwlocks all over,
> and how would you reliably detect whether they are nestable
> or not?
>
> I assume it's not something that could be easily analyzed
> at compile time and relying on runtime would seem dangerous.
>
> Basically it sounds like quite a lot of work.
>
> A better plan might be to have new types which are non nestable
> and only move over audited code to fair rwlocks.

No that's what I meant, the new type would be non nestable.


--
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/