Lines Matching full:robust
2 A description of what robust futexes are
10 what are robust futexes? To answer that, we first need to understand
37 To solve such types of problems, "robust mutex" userspace APIs were
56 robust futexes attached to this area'. This approach requires 3 new
75 because the kernel has no knowledge about how many robust futexes there
76 are to be cleaned up, because a robust futex might have been registered
82 robust futexes impractical for any type of generic Linux distribution.
86 New approach to robust futexes
90 robust locks that userspace is holding (maintained by glibc) - which
93 time, the kernel checks this user-space list: are there any robust futex
97 the cost of robust futexes is just a simple current->robust_list != NULL
118 That's all that is needed - all the rest of robust-futex cleanup is done
122 mechanism, which fully enables robust mutexes.
133 - no registration of individual locks is needed: robust mutexes don't
134 need any extra per-lock syscalls. Robust mutexes thus become a very
136 to do a hard choice between performance and robustness - robust
158 [which it currently does for !pshared robust mutexes], and that took 256
181 current->robust_list. [Note that in the future, if robust futexes become
182 widespread, we could extend sys_clone() to register a robust-list head
185 So there is virtually zero overhead for tasks not using robust futexes,
186 and even for robust futex users, there is only one extra syscall per
189 robust and normal futexes.
199 Otherwise, robust futexes are acquired by glibc by putting the TID into
210 parsing of the userspace list is robust [ ;-) ] even if the list is
215 robust-mutex testcases.