Home
last modified time | relevance | path

Searched refs:hb (Results 1 – 6 of 6) sorted by relevance

/kernel/futex/
Dfutex.h144 struct futex_q *q, struct futex_hash_bucket **hb);
145 extern void futex_wait_queue(struct futex_hash_bucket *hb, struct futex_q *q,
152 extern struct futex_q *futex_top_waiter(struct futex_hash_bucket *hb, union futex_key *key);
155 extern void __futex_queue(struct futex_q *q, struct futex_hash_bucket *hb);
170 static inline void futex_queue(struct futex_q *q, struct futex_hash_bucket *hb) in futex_queue() argument
171 __releases(&hb->lock) in futex_queue()
173 __futex_queue(q, hb); in futex_queue()
174 spin_unlock(&hb->lock); in futex_queue()
184 static inline void futex_hb_waiters_inc(struct futex_hash_bucket *hb) in futex_hb_waiters_inc() argument
187 atomic_inc(&hb->waiters); in futex_hb_waiters_inc()
[all …]
Dwaitwake.c146 struct futex_hash_bucket *hb; in futex_wake() local
160 hb = futex_hash(&key); in futex_wake()
163 if (!futex_hb_waiters_pending(hb)) in futex_wake()
166 spin_lock(&hb->lock); in futex_wake()
168 trace_android_vh_futex_wake_traverse_plist(&hb->chain, &target_nr, key, bitset); in futex_wake()
169 plist_for_each_entry_safe(this, next, &hb->chain, list) { in futex_wake()
187 spin_unlock(&hb->lock); in futex_wake()
333 void futex_wait_queue(struct futex_hash_bucket *hb, struct futex_q *q, in futex_wait_queue() argument
343 futex_queue(q, hb); in futex_wait_queue()
408 struct futex_hash_bucket *hb; in futex_wait_multiple_setup() local
[all …]
Dcore.c440 struct futex_q *futex_top_waiter(struct futex_hash_bucket *hb, union futex_key *key) in futex_top_waiter() argument
444 plist_for_each_entry(this, &hb->chain, list) { in futex_top_waiter()
512 struct futex_hash_bucket *hb; in __futex_unqueue() local
518 hb = container_of(q->lock_ptr, struct futex_hash_bucket, lock); in __futex_unqueue()
519 plist_del(&q->list, &hb->chain); in __futex_unqueue()
520 futex_hb_waiters_dec(hb); in __futex_unqueue()
525 __acquires(&hb->lock) in futex_q_lock()
527 struct futex_hash_bucket *hb; in futex_q_lock() local
529 hb = futex_hash(&q->key); in futex_q_lock()
539 futex_hb_waiters_inc(hb); /* implies smp_mb(); (A) */ in futex_q_lock()
[all …]
Drequeue.c224 struct futex_hash_bucket *hb) in requeue_pi_wake_futex() argument
233 q->lock_ptr = &hb->lock; in requeue_pi_wake_futex()
691 int handle_early_requeue_pi_wakeup(struct futex_hash_bucket *hb, in handle_early_requeue_pi_wakeup() argument
704 WARN_ON_ONCE(&hb->lock != q->lock_ptr); in handle_early_requeue_pi_wakeup()
710 plist_del(&q->list, &hb->chain); in handle_early_requeue_pi_wakeup()
711 futex_hb_waiters_dec(hb); in handle_early_requeue_pi_wakeup()
768 struct futex_hash_bucket *hb; in futex_wait_requeue_pi() local
804 ret = futex_wait_setup(uaddr, val, flags, &q, &hb); in futex_wait_requeue_pi()
813 futex_q_unlock(hb); in futex_wait_requeue_pi()
819 futex_wait_queue(hb, &q, to); in futex_wait_requeue_pi()
[all …]
Dpi.c514 int futex_lock_pi_atomic(u32 __user *uaddr, struct futex_hash_bucket *hb, in futex_lock_pi_atomic() argument
548 top_waiter = futex_top_waiter(hb, key); in futex_lock_pi_atomic()
935 struct futex_hash_bucket *hb; in futex_lock_pi() local
953 hb = futex_q_lock(&q); in futex_lock_pi()
955 ret = futex_lock_pi_atomic(uaddr, hb, &q.key, &q.pi_state, current, in futex_lock_pi()
977 futex_q_unlock(hb); in futex_lock_pi()
996 __futex_queue(&q, hb); in futex_lock_pi()
1073 futex_q_unlock(hb); in futex_lock_pi()
1083 futex_q_unlock(hb); in futex_lock_pi()
1104 struct futex_hash_bucket *hb; in futex_unlock_pi() local
[all …]
/kernel/power/
Dswap.c236 static void hib_init_batch(struct hib_bio_batch *hb) in hib_init_batch() argument
238 atomic_set(&hb->count, 0); in hib_init_batch()
239 init_waitqueue_head(&hb->wait); in hib_init_batch()
240 hb->error = BLK_STS_OK; in hib_init_batch()
241 blk_start_plug(&hb->plug); in hib_init_batch()
244 static void hib_finish_batch(struct hib_bio_batch *hb) in hib_finish_batch() argument
246 blk_finish_plug(&hb->plug); in hib_finish_batch()
251 struct hib_bio_batch *hb = bio->bi_private; in hib_end_io() local
266 if (bio->bi_status && !hb->error) in hib_end_io()
267 hb->error = bio->bi_status; in hib_end_io()
[all …]