Lines Matching refs:and
10 - even in the slowpath, the system call and scheduling pattern is very
24 determinism and well-bound latencies. Even in the worst-case, PI will
36 between 1:10 and 1:100. Lockless is hard, and the complexity of lockless
46 combined with medium-prio construct-audio-data threads and low-prio
47 display-colory-stuff threads. Add video and decoding to the mix and
51 unavoidable fact of life, and once we accept that multi-task userspace
65 Currently (without PI), if a high-prio and a low-prio task shares a lock
68 (i.e. all critical sections are short in duration and only execute a
71 could preempt the low-prio task while it holds the shared lock and
72 executes the critical section, and could delay it indefinitely.
79 normal futex-based locks: a 0 value means unlocked, and a value==TID
93 own TID into the futex value], and attaches a 'PI state' structure to
96 of the rt-mutex, and the FUTEX_WAITERS bit is atomically set in the
98 blocks. Once it returns, it has the mutex acquired, and it sets the
99 futex value to its own TID and returns. Userspace has no other work to
100 perform - it now owns the lock, and futex value contains
108 then FUTEX_UNLOCK_PI is called, and the kernel unlocks the futex on the
109 behalf of userspace - and it also unlocks the attached
110 pi_state->rt_mutex and thus wakes up any potential waiters.
116 Also, under this scheme, 'robustness' and 'PI' are two orthogonal
117 properties of futexes, and all four combinations are possible: futex,