/linux-master/kernel/locking/ |
H A D | rwsem.c | 24 #include <linux/sched/wake_q.h> 413 struct wake_q_head *wake_q) 436 wake_q_add(wake_q, waiter->task); 507 * put them into wake_q to be woken up later. 566 wake_q_add_safe(wake_q, tsk); 578 struct wake_q_head *wake_q) 583 wake_q_init(wake_q); variable 591 rwsem_mark_wake(sem, RWSEM_WAKE_ANY, wake_q); 593 if (!wake_q_empty(wake_q)) 594 wake_up_q(wake_q); variable 411 rwsem_mark_wake(struct rw_semaphore *sem, enum rwsem_wake_type wake_type, struct wake_q_head *wake_q) argument 975 rwsem_cond_wake_waiter(struct rw_semaphore *sem, long count, struct wake_q_head *wake_q) argument [all...] |
H A D | rtmutex_common.h | 18 #include <linux/sched/wake_q.h>
|
H A D | mutex.c | 25 #include <linux/sched/wake_q.h> 909 DEFINE_WAKE_Q(wake_q); 948 wake_q_add(&wake_q, next); 956 wake_up_q(&wake_q);
|
H A D | rtmutex.c | 24 #include <linux/sched/wake_q.h> 539 /* RT mutex specific wake_q wrappers */
|
/linux-master/kernel/futex/ |
H A D | waitwake.c | 134 void futex_wake_mark(struct wake_q_head *wake_q, struct futex_q *q) argument 149 wake_q_add_safe(wake_q, p); 160 DEFINE_WAKE_Q(wake_q); 192 this->wake(&wake_q, this); 199 wake_up_q(&wake_q); 260 DEFINE_WAKE_Q(wake_q); 307 this->wake(&wake_q, this); 321 this->wake(&wake_q, this); 331 wake_up_q(&wake_q);
|
H A D | futex.h | 7 #include <linux/sched/wake_q.h> 143 typedef void (futex_wake_fn)(struct wake_q_head *wake_q, struct futex_q *q); 225 extern void futex_wake_mark(struct wake_q_head *wake_q, struct futex_q *q);
|
H A D | requeue.c | 376 DEFINE_WAKE_Q(wake_q); 598 this->wake(&wake_q, this); 678 wake_up_q(&wake_q);
|
/linux-master/ipc/ |
H A D | sem.c | 87 #include <linux/sched/wake_q.h> 237 * The wakeup is handled using the wake_q infrastructure. wake_q wakeups may 787 struct wake_q_head *wake_q) 796 wake_q_add_safe(wake_q, sleeper); 844 * @wake_q: lockless wake-queue head. 850 * The tasks that must be woken up are added to @wake_q. The return code 855 struct wake_q_head *wake_q) 874 wake_up_sem_queue_prepare(q, error, wake_q); 887 * @wake_q 786 wake_up_sem_queue_prepare(struct sem_queue *q, int error, struct wake_q_head *wake_q) argument 854 wake_const_ops(struct sem_array *sma, int semnum, struct wake_q_head *wake_q) argument 893 do_smart_wakeup_zero(struct sem_array *sma, struct sembuf *sops, int nsops, struct wake_q_head *wake_q) argument 949 update_queue(struct sem_array *sma, int semnum, struct wake_q_head *wake_q) argument 1029 do_smart_update(struct sem_array *sma, struct sembuf *sops, int nsops, int otime, struct wake_q_head *wake_q) argument [all...] |
H A D | msg.c | 34 #include <linux/sched/wake_q.h> 213 struct wake_q_head *wake_q, bool kill) 245 wake_q_add(wake_q, mss->tsk); 250 struct wake_q_head *wake_q) 261 wake_q_add_safe(wake_q, r_tsk); 279 DEFINE_WAKE_Q(wake_q); 281 expunge_all(msq, -EIDRM, &wake_q); 282 ss_wakeup(msq, &wake_q, true); 285 wake_up_q(&wake_q); 432 DEFINE_WAKE_Q(wake_q); 212 ss_wakeup(struct msg_queue *msq, struct wake_q_head *wake_q, bool kill) argument 249 expunge_all(struct msg_queue *msq, int res, struct wake_q_head *wake_q) argument 816 pipelined_send(struct msg_queue *msq, struct msg_msg *msg, struct wake_q_head *wake_q) argument [all...] |
H A D | mqueue.c | 39 #include <linux/sched/wake_q.h> 73 * - The actual wakeup of a sleeping task is performed using the wake_q 1017 static inline void __pipelined_op(struct wake_q_head *wake_q, argument 1028 wake_q_add_safe(wake_q, task); 1034 static inline void pipelined_send(struct wake_q_head *wake_q, argument 1040 __pipelined_op(wake_q, info, receiver); 1045 static inline void pipelined_receive(struct wake_q_head *wake_q, argument 1058 __pipelined_op(wake_q, info, sender); 1074 DEFINE_WAKE_Q(wake_q); 1158 pipelined_send(&wake_q, inf [all...] |
/linux-master/io_uring/ |
H A D | futex.c | 192 static void io_futex_wakev_fn(struct wake_q_head *wake_q, struct futex_q *q) argument 241 static void io_futex_wake_fn(struct wake_q_head *wake_q, struct futex_q *q) argument
|
/linux-master/kernel/ |
H A D | stop_machine.c | 24 #include <linux/sched/wake_q.h>
|
H A D | fork.c | 1163 tsk->wake_q.next = NULL;
|
/linux-master/include/linux/ |
H A D | sched.h | 1152 struct wake_q_node wake_q; member in struct:task_struct
|
/linux-master/kernel/sched/ |
H A D | core.c | 61 #include <linux/sched/wake_q.h> 950 struct wake_q_node *node = &task->wake_q; 953 * Atomically grab the task, if ->wake_q is !nil already it means 1004 * wake_q to do the right thing depending whether or not the @task is already 1020 task = container_of(node, struct task_struct, wake_q); 1023 task->wake_q.next = NULL;
|