[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4651E1D4.6010705@cosmosbay.com>
Date: Mon, 21 May 2007 20:15:48 +0200
From: Eric Dumazet <dada1@...mosbay.com>
To: Ulrich Drepper <drepper@...hat.com>
CC: Linux Kernel <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: second, bigger problem with private futexes
Ulrich Drepper a écrit :
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> This one is a big problem:
>
> If I understand the code correctly, a FUTEX_CMP_REQUEUE from a private
> futex will add the waiters to the other futex as a private futex. And
> similarly for shared.
>
> I.e., it is not possible to have one futex private and the other shared.
> This is a huge problem. The shared/private status of a conditional
> variable and the mutex used with it don't have to match. But this is
> where FUTEX_CMP_REQUEUE is used.
>
> If this is not changed (assuming I'm right with my analysis of the
> kernel code) this means mutexes and condvars will not be able to use
> private futexes.
Do you mean POSIX allowed to mix PROCESS_PRIVATE and PROCESS_SHARED condvar
and mutexes ? Seems silly to me :(
>
> What would be needed is an additional parameter for FUTEX_CMP_REQUEUE
> and FUTEX_CMP_REQUEUE_PI which specifies the state (shared/private) of
> the target futex. The original futex' state is encoded in the command
> (the FUTEX_PRIVATE_FLAG ORed to FUTEX_CMP_REQUEUE*).
>
Well, I guess it should be easy to add this if really necessary.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists