Home
last modified time | relevance | path

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

/linux/kernel/futex/
H A Dfutex.h162 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 Drequeue.c60 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 Dwaitwake.c110 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 Dpi.c168 * 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 Dcore.c208 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 Dfutex.c27 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()