Re: second, bigger problem with private futexes

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Eric Dumazet
Date: Monday, May 21, 2007 - 12:55 pm

Ulrich Drepper a écrit :

well, then we have a refcounting issue on pid , or problem in pid reuse.


This analysis seems unfair to me, after a quick reading of glibc code.

Right now, glibc cannot use FUTEX_CMP_REQUEUE if condvar is pshared.

/* Do not use requeue for pshared condvars.  */
if (cond->__data.__mutex == (void *) ~0l)
	goto wake_all;

So how introducing private futexes is penalizing this case ?

Fact is that if condvar is pshared, we *cannot* use CMP_REQUEUE since threads 
doing the broadcast() can be in a separate process and virtual address of 
mutex of waiting threads could point to unrelated memory.

Thanks

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
second, bigger problem with private futexes, Ulrich Drepper, (Mon May 21, 10:26 am)
Re: second, bigger problem with private futexes, Eric Dumazet, (Mon May 21, 11:15 am)
Re: second, bigger problem with private futexes, Ulrich Drepper, (Mon May 21, 11:26 am)
Re: second, bigger problem with private futexes, Eric Dumazet, (Mon May 21, 11:48 am)
Re: second, bigger problem with private futexes, Eric Dumazet, (Mon May 21, 12:26 pm)
Re: second, bigger problem with private futexes, Ulrich Drepper, (Mon May 21, 12:43 pm)
Re: second, bigger problem with private futexes, Eric Dumazet, (Mon May 21, 12:55 pm)