Re: [rfc] "fair" rw spinlocks

From: Andi Kleen
Date: Tue Nov 24 2009 - 15:48:03 EST


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.

-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
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/