Home
last modified time | relevance | path

Searched refs:pi_state (Results 1 – 5 of 5) sorted by relevance

/kernel/futex/
Dpi.c14 struct futex_pi_state *pi_state; in refill_pi_state_cache() local
19 pi_state = kzalloc(sizeof(*pi_state), GFP_KERNEL); in refill_pi_state_cache()
21 if (!pi_state) in refill_pi_state_cache()
24 INIT_LIST_HEAD(&pi_state->list); in refill_pi_state_cache()
26 pi_state->owner = NULL; in refill_pi_state_cache()
27 refcount_set(&pi_state->refcount, 1); in refill_pi_state_cache()
28 pi_state->key = FUTEX_KEY_INIT; in refill_pi_state_cache()
30 current->pi_state_cache = pi_state; in refill_pi_state_cache()
37 struct futex_pi_state *pi_state = current->pi_state_cache; in alloc_pi_state() local
39 WARN_ON(!pi_state); in alloc_pi_state()
[all …]
Drequeue.c93 struct futex_pi_state *pi_state) in futex_requeue_pi_prepare() argument
121 q->pi_state = pi_state; in futex_requeue_pi_prepare()
300 if (!top_waiter->rt_waiter || top_waiter->pi_state) in futex_proxy_trylock_atomic()
369 struct futex_pi_state *pi_state = NULL; in futex_requeue() local
485 &key2, &pi_state, in futex_requeue()
586 this->pi_state) { in futex_requeue()
614 get_pi_state(pi_state); in futex_requeue()
617 if (!futex_requeue_pi_prepare(this, pi_state)) { in futex_requeue()
623 put_pi_state(pi_state); in futex_requeue()
627 ret = rt_mutex_start_proxy_lock(&pi_state->pi_mutex, in futex_requeue()
[all …]
Dcore.c621 BUG_ON(q->pi_state); in futex_unqueue()
638 BUG_ON(!q->pi_state); in futex_unqueue_pi()
639 put_pi_state(q->pi_state); in futex_unqueue_pi()
640 q->pi_state = NULL; in futex_unqueue_pi()
960 struct futex_pi_state *pi_state; in exit_pi_state_list() local
972 pi_state = list_entry(next, struct futex_pi_state, list); in exit_pi_state_list()
973 key = pi_state->key; in exit_pi_state_list()
986 if (!refcount_inc_not_zero(&pi_state->refcount)) { in exit_pi_state_list()
995 raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock); in exit_pi_state_list()
1003 raw_spin_unlock(&pi_state->pi_mutex.wait_lock); in exit_pi_state_list()
[all …]
Dfutex.h102 struct futex_pi_state *pi_state; member
231 extern void get_pi_state(struct futex_pi_state *pi_state);
232 extern void put_pi_state(struct futex_pi_state *pi_state);
Dwaitwake.c120 if (WARN(q->pi_state || q->rt_waiter, "refusing to wake PI futex\n")) in futex_wake_mark()
171 if (this->pi_state || this->rt_waiter) { in futex_wake()
293 if (this->pi_state || this->rt_waiter) { in futex_wake_op()
307 if (this->pi_state || this->rt_waiter) { in futex_wake_op()