Lines Matching refs:hb
443 struct futex_q *futex_top_waiter(struct futex_hash_bucket *hb, union futex_key *key) in futex_top_waiter() argument
447 plist_for_each_entry(this, &hb->chain, list) { in futex_top_waiter()
515 struct futex_hash_bucket *hb; in __futex_unqueue() local
521 hb = container_of(q->lock_ptr, struct futex_hash_bucket, lock); in __futex_unqueue()
522 plist_del(&q->list, &hb->chain); in __futex_unqueue()
523 futex_hb_waiters_dec(hb); in __futex_unqueue()
528 __acquires(&hb->lock) in futex_q_lock()
530 struct futex_hash_bucket *hb; in futex_q_lock() local
532 hb = futex_hash(&q->key); in futex_q_lock()
542 futex_hb_waiters_inc(hb); /* implies smp_mb(); (A) */ in futex_q_lock()
544 q->lock_ptr = &hb->lock; in futex_q_lock()
546 spin_lock(&hb->lock); in futex_q_lock()
547 return hb; in futex_q_lock()
550 void futex_q_unlock(struct futex_hash_bucket *hb) in futex_q_unlock() argument
551 __releases(&hb->lock) in futex_q_unlock()
553 spin_unlock(&hb->lock); in futex_q_unlock()
554 futex_hb_waiters_dec(hb); in futex_q_unlock()
557 void __futex_queue(struct futex_q *q, struct futex_hash_bucket *hb) in __futex_queue() argument
572 plist_add(&q->list, &hb->chain); in __futex_queue()
973 struct futex_hash_bucket *hb; in exit_pi_state_list() local
986 hb = futex_hash(&key); in exit_pi_state_list()
1006 spin_lock(&hb->lock); in exit_pi_state_list()
1016 spin_unlock(&hb->lock); in exit_pi_state_list()
1028 spin_unlock(&hb->lock); in exit_pi_state_list()