Searched refs:pi_state (Results 1 – 5 of 5) sorted by relevance
| /linux/kernel/futex/ |
| H A D | pi.c | 15 struct futex_pi_state *pi_state; in refill_pi_state_cache() local 20 pi_state = kzalloc(sizeof(*pi_state), GFP_KERNEL); in refill_pi_state_cache() 22 if (!pi_state) in refill_pi_state_cache() 25 INIT_LIST_HEAD(&pi_state->list); in refill_pi_state_cache() 27 pi_state->owner = NULL; in refill_pi_state_cache() 28 refcount_set(&pi_state->refcount, 1); in refill_pi_state_cache() 29 pi_state->key = FUTEX_KEY_INIT; in refill_pi_state_cache() 31 current->pi_state_cache = pi_state; in refill_pi_state_cache() 38 struct futex_pi_state *pi_state in alloc_pi_state() local 46 pi_state_update_owner(struct futex_pi_state * pi_state,struct task_struct * new_owner) pi_state_update_owner() argument 69 get_pi_state(struct futex_pi_state * pi_state) get_pi_state() argument 78 put_pi_state(struct futex_pi_state * pi_state) put_pi_state() argument 204 attach_to_pi_state(u32 __user * uaddr,u32 uval,struct futex_pi_state * pi_state,struct futex_pi_state ** ps) attach_to_pi_state() argument 386 struct futex_pi_state *pi_state = alloc_pi_state(); __attach_to_pi_owner() local 615 wake_futex_pi(u32 __user * uaddr,u32 uval,struct futex_pi_state * pi_state,struct rt_mutex_waiter * top_waiter) wake_futex_pi() argument 674 struct futex_pi_state *pi_state = q->pi_state; __fixup_pi_state_owner() local 846 struct futex_pi_state *pi_state = q->pi_state; fixup_pi_state_owner() local 1148 struct futex_pi_state *pi_state = top_waiter->pi_state; futex_unlock_pi() local [all...] |
| H A D | requeue.c | 100 struct futex_pi_state *pi_state) in futex_requeue_pi_prepare() argument 128 q->pi_state = pi_state; in futex_requeue_pi_prepare() 314 if (!top_waiter->rt_waiter || top_waiter->pi_state) in futex_proxy_trylock_atomic() 385 struct futex_pi_state *pi_state = NULL; in futex_requeue() local 501 &key2, &pi_state, in futex_requeue() 602 this->pi_state) { in futex_requeue() 630 get_pi_state(pi_state); in futex_requeue() 633 if (!futex_requeue_pi_prepare(this, pi_state)) { in futex_requeue() 639 put_pi_state(pi_state); in futex_requeue() 643 ret = rt_mutex_start_proxy_lock(&pi_state->pi_mutex, in futex_requeue() [all …]
|
| H A D | core.c | 958 BUG_ON(q->pi_state); in futex_unqueue() 1002 BUG_ON(!q->pi_state); in futex_unqueue_pi() 1003 put_pi_state(q->pi_state); in futex_unqueue_pi() 1004 q->pi_state = NULL; in futex_unqueue_pi() 1327 struct futex_pi_state *pi_state; in exit_pi_state_list() local 1349 pi_state = list_entry(next, struct futex_pi_state, list); in exit_pi_state_list() 1350 key = pi_state->key; in exit_pi_state_list() 1364 if (!refcount_inc_not_zero(&pi_state->refcount)) { in exit_pi_state_list() 1373 raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock); in exit_pi_state_list() 1381 raw_spin_unlock(&pi_state->pi_mutex.wait_lock); in exit_pi_state_list() [all …]
|
| H A D | waitwake.c | 112 if (WARN(q->pi_state || q->rt_waiter, "refusing to wake PI futex\n")) in __futex_wake_mark() 182 if (this->pi_state || this->rt_waiter) { in futex_wake() 301 if (this->pi_state || this->rt_waiter) { in futex_wake_op() 315 if (this->pi_state || this->rt_waiter) { in futex_wake_op()
|
| /linux/Documentation/locking/ |
| H A D | pi-futex.rst | 95 the futex-queue. The pi_state includes an rt-mutex, which is a PI-aware, 111 pi_state->rt_mutex and thus wakes up any potential waiters.
|