Re: [patch 0/5] lightweight robust futexes: -V1

From: Andi Kleen
Date: Wed Feb 15 2006 - 13:40:34 EST


On Wednesday 15 February 2006 18:50, Ulrich Drepper wrote:
> Andi Kleen wrote:
> > e.g. you could add a new VMA flag that says "when one user
> > of this dies unexpectedly by a signal kill all"
>
> "kill all"?

It would solve the problem statement given by Ingo in the rationale
for this kernel patch - cleaning up after a hanging yum.

If there are any other problems this is intended to solve then they
should be stated in the rationale.

> > And what happens if the patch is rejected? I don't really think you
> > can force patches in this way ("do it or I break glibc")
>
> Nothing which relies on the syscalls goes into cvs unless the kernel
> side is first committed. I never do this.

Great we agree on that then.

> The list being corrupted means that the mutexes are corrupted. In which
> case the application would crash anyway.

I'm not concerned about the application, just about the kernel.

> As for the "endless loop". You didn't read the code, it seems. There
> are two mechanisms to prevent this: the list is destroyed when the
> individual elements are handled and there is an upper limit on the
> number of robust mutexes which can be registered. The limit is
> ridiculously high so it'll no problem for correct programs and it also
> will eliminate run-away list following code.

Ok good that's handled. How about long blocking on swapped out pages
in exit?

You would need a SO_LINGER I guess, but implementing that would be
fairly nasty.

I think the "kill all" approach would be much simpler.


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