Lines Matching refs:hb
434 * @hb: the hash bucket the futex_q's reside in
437 * Must be called with the hb lock held.
439 struct futex_q *futex_top_waiter(struct futex_hash_bucket *hb, union futex_key *key)
443 plist_for_each_entry(this, &hb->chain, list) {
511 struct futex_hash_bucket *hb;
517 hb = container_of(q->lock_ptr, struct futex_hash_bucket, lock);
518 plist_del(&q->list, &hb->chain);
519 futex_hb_waiters_dec(hb);
524 __acquires(&hb->lock)
526 struct futex_hash_bucket *hb;
528 hb = futex_hash(&q->key);
538 futex_hb_waiters_inc(hb); /* implies smp_mb(); (A) */
540 q->lock_ptr = &hb->lock;
542 spin_lock(&hb->lock);
543 return hb;
546 void futex_q_unlock(struct futex_hash_bucket *hb)
547 __releases(&hb->lock)
549 spin_unlock(&hb->lock);
550 futex_hb_waiters_dec(hb);
553 void __futex_queue(struct futex_q *q, struct futex_hash_bucket *hb)
568 plist_add(&q->list, &hb->chain);
957 struct futex_hash_bucket *hb;
970 hb = futex_hash(&key);
990 spin_lock(&hb->lock);
1000 spin_unlock(&hb->lock);
1012 spin_unlock(&hb->lock);