Lines Matching +full:waking +full:- +full:up
5 Requeueing of tasks from a non-PI futex to a PI futex requires
8 boosting logic [see rt-mutex-desgin.txt] For the purposes of
14 ----------
17 pthread_cond_broadcast() must resort to waking all the tasks waiting
19 gets to run first in classic thundering-herd formation. An ideal
20 implementation would wake the highest-priority waiter, and leave the
29 lock(cond->__data.__lock);
32 unlock(cond->__data.__lock);
33 futex_wait(cond->__data.__futex);
34 lock(cond->__data.__lock);
36 unlock(cond->__data.__lock);
42 lock(cond->__data.__lock);
43 unlock(cond->__data.__lock);
44 futex_requeue(cond->data.__futex, cond->mutex);
47 Once pthread_cond_broadcast() requeues the tasks, the cond->mutex
51 previously mentioned PI-boosting algorithms.
53 In order to support PI-aware pthread_condvar's, the kernel needs to
63 lock(cond->__data.__lock);
66 unlock(cond->__data.__lock);
67 futex_wait_requeue_pi(cond->__data.__futex);
68 lock(cond->__data.__lock);
70 unlock(cond->__data.__lock);
76 lock(cond->__data.__lock);
77 unlock(cond->__data.__lock);
78 futex_requeue_pi(cond->data.__futex, cond->mutex);
87 --------------
94 requeue call returning to user space and the waiter waking and
101 Two new system calls provide the kernel<->user interface to
106 to be requeued to a PI-aware futex. The implementation is the
107 result of a high-speed collision between futex_wait() and
109 wake-up scenarios.
126 requeue up to nr_wake + nr_requeue tasks. It will wake only as many