Re: Robust futexes

From: Ingo Molnar
Date: Mon Feb 20 2006 - 04:06:14 EST



* Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:

> > the fundamental problem i see here: how do you 'declare' a TID as dead?
> > 32-bit TIDs can be reused, quite fundamentally.
>
> Yes. I was asking of we actually need prefect robustness. [...]

yes - we need at a minimum robustness that will work for all sane
workloads. If we make applications rely on it, we should offer an
implementation that works under well-specified circumstances. "The
feature might not work if some other, unrelated application happens
churn more than 32768 threads" is not well-specified. [not to talk about
the problems with the upcoming POSIX specification: we certainly wont be
able to claim to support the feature, if it doesnt reliably work under
an easily reproducible, normal workload.]

> [...] I'm fairly confident that this approach would work well in
> practice, since if tids are being churned, the thread with wrapped TID
> will exit soon anyway.

we cannot assume that - e.g. if there are two unrelated apps, one a
fast-churner, and another one relying on robust mutexes.

> As an added bonus, the tone of the first response I received (not
> yours!) reminded me why I am not subscribed to lkml...

hey, if that response is deemed as too confrontational, then i'd have to
discard 97% of the lkml responses i get to patches ;-) Another thing is
that this particular topic was pretty hotly discussed from the onset,
which could easily have carried over into other replies as well. So i'd
really not take it personal.

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