lkml.org 
[lkml]   [2006]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC] NUMA futex hashing
On 8/8/06, Eric Dumazet <dada1@cosmosbay.com> wrote:
> So we really can... but for 'private futexes' which are the vast majority of
> futexes needed by typical program (using POSIX pshared thread mutex attribute
> PTHREAD_PROCESS_PRIVATE, currently not used by NPTL glibc)

Nonsense. Mutexes are by default always private. They explicitly
have to be marked as sharable. This happens using the
pthread_mutexattr_setpshared function which takes
PTHREAD_PROCESS_PRIVATE or PTHREAD_PROCESS_SHARED in the second
parameter. So the former _is_ clearly used.


> Of course we would need a new syscall, and to change glibc to be able to
> actually use this new private_futex syscall.

No, why? The kernel already does recognize private mutexes. It just
checks whether the pages used to store it are private or mapped. This
requires some interaction with the memory subsystem but as long as no
crashes happen the data can change underneath. It's the program's
fault if it does.

On the waker side you would search the local futex hash table/tree
first and if this doesn't yield a match, search the global table.
Wakeup calls without any waiters are usually rare.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-08-08 19:01    [W:0.123 / U:38.040 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site