Lines Matching refs:hb
437 * @hb: the hash bucket the futex_q's reside in
440 * Must be called with the hb lock held.
442 struct futex_q *futex_top_waiter(struct futex_hash_bucket *hb, union futex_key *key)
446 plist_for_each_entry(this, &hb->chain, list) {
514 struct futex_hash_bucket *hb;
520 hb = container_of(q->lock_ptr, struct futex_hash_bucket, lock);
521 plist_del(&q->list, &hb->chain);
522 futex_hb_waiters_dec(hb);
527 __acquires(&hb->lock)
529 struct futex_hash_bucket *hb;
531 hb = futex_hash(&q->key);
541 futex_hb_waiters_inc(hb); /* implies smp_mb(); (A) */
543 q->lock_ptr = &hb->lock;
545 spin_lock(&hb->lock);
546 return hb;
549 void futex_q_unlock(struct futex_hash_bucket *hb)
550 __releases(&hb->lock)
552 spin_unlock(&hb->lock);
553 futex_hb_waiters_dec(hb);
556 void __futex_queue(struct futex_q *q, struct futex_hash_bucket *hb)
571 plist_add(&q->list, &hb->chain);
972 struct futex_hash_bucket *hb;
985 hb = futex_hash(&key);
1005 spin_lock(&hb->lock);
1015 spin_unlock(&hb->lock);
1027 spin_unlock(&hb->lock);