Searched refs:futex_q (Results 1 – 6 of 6) sorted by relevance
/linux/kernel/futex/ |
H A D | futex.h | 162 struct futex_q; 163 typedef void (futex_wake_fn)(struct wake_q_head *wake_q, struct futex_q *q); 192 struct futex_q { struct 211 extern const struct futex_q futex_q_init; argument 220 extern void futex_q_lockptr_lock(struct futex_q *q); 264 struct futex_q *q, union futex_key *key2, 266 extern void futex_do_wait(struct futex_q *q, struct hrtimer_sleeper *timeout); 267 extern bool __futex_wake_mark(struct futex_q *q); 268 extern void futex_wake_mark(struct wake_q_head *wake_q, struct futex_q *q); 271 extern struct futex_q *futex_top_waiter(struct futex_hash_bucket *hb, union futex_key *key); [all …]
|
H A D | requeue.c | 60 const struct futex_q futex_q_init = { 69 * requeue_futex() - Requeue a futex_q from one hb to another 70 * @q: the futex_q to requeue 73 * @key2: the new key for the requeued futex_q 76 void requeue_futex(struct futex_q *q, struct futex_hash_bucket *hb1, in requeue_futex() 99 static inline bool futex_requeue_pi_prepare(struct futex_q *q, in futex_requeue_pi_prepare() 132 static inline void futex_requeue_pi_complete(struct futex_q *q, int locked) in futex_requeue_pi_complete() 163 static inline int futex_requeue_pi_wakeup_sync(struct futex_q *q) in futex_requeue_pi_wakeup_sync() 203 * @q: the futex_q 230 void requeue_pi_wake_futex(struct futex_q * in requeue_pi_wake_futex() [all...] |
H A D | waitwake.c | 110 bool __futex_wake_mark(struct futex_q *q) in __futex_wake_mark() 117 * The waiting task can free the futex_q as soon as q->lock_ptr = NULL in __futex_wake_mark() 130 * Afterwards, the futex_q must not be accessed. Callers 134 void futex_wake_mark(struct wake_q_head *wake_q, struct futex_q *q) in futex_wake_mark() 157 struct futex_q *this, *next; in futex_wake() 255 struct futex_q *this, *next; in futex_wake_op() 338 * @q: the futex_q to queue up on 341 void futex_do_wait(struct futex_q *q, struct hrtimer_sleeper *timeout) 445 struct futex_q *q = &vs[i].q; in futex_wait_multiple_setup() 578 * @q: the associated futex_q [all...] |
H A D | pi.c | 168 * hb -> futex_q, relation 169 * futex_q -> pi_state, relation 172 * of futex_q's) 219 * futex_top_waiter(). This means that futex_lock_pi() of said futex_q in attach_to_pi_state() 523 struct futex_q *top_waiter; in futex_lock_pi_atomic() 671 static int __fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, in __fixup_pi_state_owner() 787 * drop hb->lock since the caller owns the hb -> futex_q relation. in __fixup_pi_state_owner() 843 static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, in fixup_pi_state_owner() 860 * @q: futex_q (contains pi_state and access to the rt_mutex) 872 int fixup_pi_owner(u32 __user *uaddr, struct futex_q * [all...] |
H A D | core.c | 208 struct futex_q *this, *tmp; in futex_rehash_private() 804 struct futex_q *futex_top_waiter(struct futex_hash_bucket *hb, union futex_key *key) in futex_top_waiter() 806 struct futex_q *this; in futex_top_waiter() 852 void __futex_unqueue(struct futex_q *q) in __futex_unqueue() 866 void futex_q_lock(struct futex_q *q, struct futex_hash_bucket *hb) in futex_q_lock() 891 void __futex_queue(struct futex_q *q, struct futex_hash_bucket *hb, in __futex_queue() 922 int futex_unqueue(struct futex_q *q) in futex_unqueue() 967 void futex_q_lockptr_lock(struct futex_q *q) in futex_q_lockptr_lock() 989 void futex_unqueue_pi(struct futex_q *q) in futex_unqueue_pi()
|
/linux/io_uring/ |
H A D | futex.c | 27 struct futex_q q; 153 static void io_futex_wakev_fn(struct wake_q_head *wake_q, struct futex_q *q) in io_futex_wakev_fn() 204 static void io_futex_wake_fn(struct wake_q_head *wake_q, struct futex_q *q) in io_futex_wake_fn()
|