[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Poor condvar performance



Ulrich Drepper wrote:
> Requeue cannot work with pshared.  requeue needs the virtual address of
> the mutex but this cannot be determined when using pshared since it
> might be different in different processes.  It would be necessary to
> have a process-local part of the condvar structure to remember the mutex
> address for each process separately.  There is no such functionality
> which is sufficiently fast.

(I haven't looked at the NPTL code, I just know the futex code well).

Why do you need to remember the mutex address in each process, if it's
in shared memory?  Is it because the requeue operation would have to
move a waiter from a shared memory futex to a process-local memory futex?

-- Jamie




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]