Lines Matching defs:futex_q
112 * location. Each key may have multiple futex_q structures, one for each task
142 struct futex_q;
143 typedef void (futex_wake_fn)(struct wake_q_head *wake_q, struct futex_q *q);
146 * struct futex_q - The hashed futex queue entry, one per waiting task
163 * A futex_q has a woken state, just like tasks have TASK_RUNNING.
171 struct futex_q {
189 extern const struct futex_q futex_q_init;
221 struct futex_q *q, struct futex_hash_bucket **hb);
222 extern void futex_wait_queue(struct futex_hash_bucket *hb, struct futex_q *q,
224 extern bool __futex_wake_mark(struct futex_q *q);
225 extern void futex_wake_mark(struct wake_q_head *wake_q, struct futex_q *q);
230 extern struct futex_q *futex_top_waiter(struct futex_hash_bucket *hb, union futex_key *key);
232 extern void __futex_unqueue(struct futex_q *q);
233 extern void __futex_queue(struct futex_q *q, struct futex_hash_bucket *hb);
234 extern int futex_unqueue(struct futex_q *q);
237 * futex_queue() - Enqueue the futex_q on the futex_hash_bucket
238 * @q: The futex_q to enqueue
248 static inline void futex_queue(struct futex_q *q, struct futex_hash_bucket *hb)
255 extern void futex_unqueue_pi(struct futex_q *q);
297 extern struct futex_hash_bucket *futex_q_lock(struct futex_q *q);
311 extern int fixup_pi_owner(u32 __user *uaddr, struct futex_q *q, int locked);
361 struct futex_q q;