Re: any fairness in NTPL pthread mutexes?

Lee Revell
2005-11-02T18:53:56Z

On Wed, 2005-11-02 at 17:47 +0000, James Courtier-Dutton wrote:
> Christopher Friesen wrote:
> >
> > I'm using NPTL.
> >
> > If I have a pthread mutex currently owned by a task, and two other tasks
> > try to lock it, when the mutex is unlocked, are there any rules about
> > the order in which the waiting tasks get the mutex (ie priority, FIFO,
> > etc.)?
> >
> > Thanks,
> >
> > Chris
> > -
>
> There is no fairness at all. It's currently not designed to be fair
> either. The reasons for this I can't remember, but there was talk at the
> KS about it and I just remember the answer. I think it had something to
> do with "If we implement fairness, general locking performance will drop
> and we prefer performance over fairness."
>
> The solution is to modify your program so as not to rely on fairness.

Or try RT-NPTL + realtime and robust mutexes kernel patches. The
problem and solution is described in more detail here:

http://developer.osdl.org/dev/robustmutexes/src/fusyn.hg/Documentation/fusyn/fusyn-why.txt

Lee