A bit like the VDSO in reverse:
A bit like the VDSO in reverse:
Posted Feb 16, 2006 14:27 UTC (Thu) by mingo (guest, #31122)In reply to: A bit like the VDSO in reverse: by AnswerGuy
Parent article: Robust futexes - a new approach
correct - this is about a complex and constantly changing userspace data structure being parsed by the kernel in certain cases. This is not the usual 'pass info the kernel' or 'pass info to userspace' kernel<->userspace data interaction that we normally do.
you are also right that there is a single (very fast) syscall per thread-lifetime. While this is already quite close to 'zero cost', and it is alot cheaper than the other solutions presented before, we could speed this up further by passing this pointer to sys_clone() - that would eliminate the extra syscall in the case of pthread_create().
Posted Feb 16, 2006 21:47 UTC (Thu)
by cdarroch (subscriber, #26812)
[Link] (1 responses)
Posted Feb 16, 2006 22:51 UTC (Thu)
by mingo (guest, #31122)
[Link]
Would this allow for the development of functions similar to those found in Solaris, namely pthread_mutexattr_getrobust_np(), pthread_mutexattr_setrobust_np(), and pthread_mutex_consistent_np()? (The "_np" is for non-portable, if I remember correctly.)robust pthread mutexes too?
Correct - these APIs are being standardized by POSIX, and this patchset aims at enabling them. Ulrich Drepper (glibc's maintainer) has already written the necessary glibc modifications to enable robust pthread_mutex_t mutexes, so once the new syscalls are accepted by the upstream kernel, glibc support should follow soon.robust pthread mutexes too?