Lines Matching refs:hb
434 struct futex_q *futex_top_waiter(struct futex_hash_bucket *hb, union futex_key *key) in futex_top_waiter() argument
438 plist_for_each_entry(this, &hb->chain, list) { in futex_top_waiter()
506 struct futex_hash_bucket *hb; in __futex_unqueue() local
512 hb = container_of(q->lock_ptr, struct futex_hash_bucket, lock); in __futex_unqueue()
513 plist_del(&q->list, &hb->chain); in __futex_unqueue()
514 futex_hb_waiters_dec(hb); in __futex_unqueue()
519 __acquires(&hb->lock) in futex_q_lock()
521 struct futex_hash_bucket *hb; in futex_q_lock() local
523 hb = futex_hash(&q->key); in futex_q_lock()
533 futex_hb_waiters_inc(hb); /* implies smp_mb(); (A) */ in futex_q_lock()
535 q->lock_ptr = &hb->lock; in futex_q_lock()
537 spin_lock(&hb->lock); in futex_q_lock()
538 return hb; in futex_q_lock()
541 void futex_q_unlock(struct futex_hash_bucket *hb) in futex_q_unlock() argument
542 __releases(&hb->lock) in futex_q_unlock()
544 spin_unlock(&hb->lock); in futex_q_unlock()
545 futex_hb_waiters_dec(hb); in futex_q_unlock()
548 void __futex_queue(struct futex_q *q, struct futex_hash_bucket *hb) in __futex_queue() argument
563 plist_add(&q->list, &hb->chain); in __futex_queue()
950 struct futex_hash_bucket *hb; in exit_pi_state_list() local
965 hb = futex_hash(&key); in exit_pi_state_list()
985 spin_lock(&hb->lock); in exit_pi_state_list()
995 spin_unlock(&hb->lock); in exit_pi_state_list()
1007 spin_unlock(&hb->lock); in exit_pi_state_list()