Lines Matching refs:hb
429 struct futex_q *futex_top_waiter(struct futex_hash_bucket *hb, union futex_key *key) in futex_top_waiter() argument
433 plist_for_each_entry(this, &hb->chain, list) { in futex_top_waiter()
501 struct futex_hash_bucket *hb; in __futex_unqueue() local
507 hb = container_of(q->lock_ptr, struct futex_hash_bucket, lock); in __futex_unqueue()
508 plist_del(&q->list, &hb->chain); in __futex_unqueue()
509 futex_hb_waiters_dec(hb); in __futex_unqueue()
514 __acquires(&hb->lock) in futex_q_lock()
516 struct futex_hash_bucket *hb; in futex_q_lock() local
518 hb = futex_hash(&q->key); in futex_q_lock()
528 futex_hb_waiters_inc(hb); /* implies smp_mb(); (A) */ in futex_q_lock()
530 q->lock_ptr = &hb->lock; in futex_q_lock()
532 spin_lock(&hb->lock); in futex_q_lock()
533 return hb; in futex_q_lock()
536 void futex_q_unlock(struct futex_hash_bucket *hb) in futex_q_unlock() argument
537 __releases(&hb->lock) in futex_q_unlock()
539 spin_unlock(&hb->lock); in futex_q_unlock()
540 futex_hb_waiters_dec(hb); in futex_q_unlock()
543 void __futex_queue(struct futex_q *q, struct futex_hash_bucket *hb) in __futex_queue() argument
558 plist_add(&q->list, &hb->chain); in __futex_queue()
947 struct futex_hash_bucket *hb; in exit_pi_state_list() local
960 hb = futex_hash(&key); in exit_pi_state_list()
980 spin_lock(&hb->lock); in exit_pi_state_list()
990 spin_unlock(&hb->lock); in exit_pi_state_list()
1002 spin_unlock(&hb->lock); in exit_pi_state_list()