Lines Matching defs:hb
269 struct futex_hash_bucket *hb;
271 hb = __futex_hash(key, NULL, &fph);
274 return (struct futex_bucket_ref){ .hb = hb, .fph = fph };
284 return (struct futex_bucket_ref){ .hb = __futex_hash(key, NULL, NULL), .fph = NULL };
757 * @hb: the hash bucket the futex_q's reside in
760 * Must be called with the hb lock held.
762 struct futex_q *futex_top_waiter(struct futex_hash_bucket *hb, union futex_key *key)
766 plist_for_each_entry(this, &hb->chain, list) {
812 struct futex_hash_bucket *hb;
818 hb = container_of(q->lock_ptr, struct futex_hash_bucket, lock);
819 plist_del(&q->list, &hb->chain);
820 futex_hb_waiters_dec(hb);
824 void futex_q_lock(struct futex_q *q, struct futex_hash_bucket *hb)
834 futex_hb_waiters_inc(hb); /* implies smp_mb(); (A) */
836 q->lock_ptr = &hb->lock;
838 spin_lock(&hb->lock);
842 void futex_q_unlock(struct futex_hash_bucket *hb)
844 futex_hb_waiters_dec(hb);
845 spin_unlock(&hb->lock);
848 void __futex_queue(struct futex_q *q, struct futex_hash_bucket *hb,
864 plist_add(&q->list, &hb->chain);
1357 * below. The hb pointer is acquired under the pi_lock so we can't block
1374 auto hb = hbr.hb;
1394 spin_lock(&hb->lock);
1404 spin_unlock(&hb->lock);
1416 spin_unlock(&hb->lock);