Home
last modified time | relevance | path

Searched refs:wake_q (Results 1 - 25 of 27) sorted by relevance

12

/kernel/linux/linux-6.6/kernel/locking/
H A Drwsem.c24 #include <linux/sched/wake_q.h>
413 struct wake_q_head *wake_q) in rwsem_mark_wake()
436 wake_q_add(wake_q, waiter->task); in rwsem_mark_wake()
507 * put them into wake_q to be woken up later. in rwsem_mark_wake()
566 wake_q_add_safe(wake_q, tsk); in rwsem_mark_wake()
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) rwsem_mark_wake() argument
975 rwsem_cond_wake_waiter(struct rw_semaphore *sem, long count, struct wake_q_head *wake_q) rwsem_cond_wake_waiter() argument
[all...]
H A Dmutex.c25 #include <linux/sched/wake_q.h>
904 DEFINE_WAKE_Q(wake_q); in __mutex_unlock_slowpath()
943 wake_q_add(&wake_q, next); in __mutex_unlock_slowpath()
951 wake_up_q(&wake_q); in __mutex_unlock_slowpath()
H A Drtmutex_common.h18 #include <linux/sched/wake_q.h>
H A Drtmutex.c24 #include <linux/sched/wake_q.h>
519 /* RT mutex specific wake_q wrappers */
/kernel/linux/linux-5.10/kernel/locking/
H A Drwsem.c24 #include <linux/sched/wake_q.h>
402 struct wake_q_head *wake_q) in rwsem_mark_wake()
425 wake_q_add(wake_q, waiter->task); in rwsem_mark_wake()
498 * put them into wake_q to be woken up later. in rwsem_mark_wake()
550 wake_q_add_safe(wake_q, tsk); in rwsem_mark_wake()
996 DEFINE_WAKE_Q(wake_q); in rwsem_down_read_slowpath()
1025 &wake_q); in rwsem_down_read_slowpath()
1027 wake_up_q(&wake_q); in rwsem_down_read_slowpath()
1079 rwsem_mark_wake(sem, RWSEM_WAKE_ANY, &wake_q); in rwsem_down_read_slowpath()
1082 wake_up_q(&wake_q); in rwsem_down_read_slowpath()
400 rwsem_mark_wake(struct rw_semaphore *sem, enum rwsem_wake_type wake_type, struct wake_q_head *wake_q) rwsem_mark_wake() argument
[all...]
H A Drtmutex.c19 #include <linux/sched/wake_q.h>
1015 static void mark_wakeup_next_waiter(struct wake_q_head *wake_q, in mark_wakeup_next_waiter() argument
1055 wake_q_add(wake_q, waiter->task); in mark_wakeup_next_waiter()
1337 struct wake_q_head *wake_q) in rt_mutex_slowunlock()
1391 mark_wakeup_next_waiter(wake_q, lock); in rt_mutex_slowunlock()
1443 void rt_mutex_postunlock(struct wake_q_head *wake_q) in rt_mutex_postunlock() argument
1445 wake_up_q(wake_q); in rt_mutex_postunlock()
1456 DEFINE_WAKE_Q(wake_q); in rt_mutex_fastunlock()
1461 if (slowfn(lock, &wake_q)) in rt_mutex_fastunlock()
1462 rt_mutex_postunlock(&wake_q); in rt_mutex_fastunlock()
1336 rt_mutex_slowunlock(struct rt_mutex *lock, struct wake_q_head *wake_q) rt_mutex_slowunlock() argument
1610 __rt_mutex_futex_unlock(struct rt_mutex *lock, struct wake_q_head *wake_q) __rt_mutex_futex_unlock() argument
[all...]
H A Drtmutex_common.h17 #include <linux/sched/wake_q.h>
157 extern void rt_mutex_postunlock(struct wake_q_head *wake_q);
H A Dmutex.c25 #include <linux/sched/wake_q.h>
1231 DEFINE_WAKE_Q(wake_q); in __mutex_unlock_slowpath()
1278 wake_q_add(&wake_q, next); in __mutex_unlock_slowpath()
1286 wake_up_q(&wake_q); in __mutex_unlock_slowpath()
/kernel/linux/linux-5.10/ipc/
H A Dsem.c87 #include <linux/sched/wake_q.h>
235 * The wakeup is handled using the wake_q infrastructure. wake_q wakeups may
785 struct wake_q_head *wake_q) in wake_up_sem_queue_prepare()
794 wake_q_add_safe(wake_q, sleeper); in wake_up_sem_queue_prepare()
842 * @wake_q: lockless wake-queue head.
848 * The tasks that must be woken up are added to @wake_q. The return code
853 struct wake_q_head *wake_q) in wake_const_ops()
872 wake_up_sem_queue_prepare(q, error, wake_q); in wake_const_ops()
885 * @wake_q
784 wake_up_sem_queue_prepare(struct sem_queue *q, int error, struct wake_q_head *wake_q) wake_up_sem_queue_prepare() argument
852 wake_const_ops(struct sem_array *sma, int semnum, struct wake_q_head *wake_q) wake_const_ops() argument
891 do_smart_wakeup_zero(struct sem_array *sma, struct sembuf *sops, int nsops, struct wake_q_head *wake_q) do_smart_wakeup_zero() argument
947 update_queue(struct sem_array *sma, int semnum, struct wake_q_head *wake_q) update_queue() argument
1027 do_smart_update(struct sem_array *sma, struct sembuf *sops, int nsops, int otime, struct wake_q_head *wake_q) do_smart_update() argument
[all...]
H A Dmsg.c34 #include <linux/sched/wake_q.h>
212 struct wake_q_head *wake_q, bool kill) in ss_wakeup()
244 wake_q_add(wake_q, mss->tsk); in ss_wakeup()
249 struct wake_q_head *wake_q) in expunge_all()
260 wake_q_add_safe(wake_q, r_tsk); in expunge_all()
278 DEFINE_WAKE_Q(wake_q); in __releases()
280 expunge_all(msq, -EIDRM, &wake_q); in __releases()
281 ss_wakeup(msq, &wake_q, true); in __releases()
284 wake_up_q(&wake_q); in __releases()
431 DEFINE_WAKE_Q(wake_q); in msgctl_down()
211 ss_wakeup(struct msg_queue *msq, struct wake_q_head *wake_q, bool kill) ss_wakeup() argument
248 expunge_all(struct msg_queue *msq, int res, struct wake_q_head *wake_q) expunge_all() argument
810 pipelined_send(struct msg_queue *msq, struct msg_msg *msg, struct wake_q_head *wake_q) pipelined_send() argument
[all...]
H A Dmqueue.c39 #include <linux/sched/wake_q.h>
73 * - The actual wakeup of a sleeping task is performed using the wake_q
1016 static inline void __pipelined_op(struct wake_q_head *wake_q, in __pipelined_op() argument
1027 wake_q_add_safe(wake_q, task); in __pipelined_op()
1033 static inline void pipelined_send(struct wake_q_head *wake_q, in pipelined_send() argument
1039 __pipelined_op(wake_q, info, receiver); in pipelined_send()
1044 static inline void pipelined_receive(struct wake_q_head *wake_q, in pipelined_receive() argument
1057 __pipelined_op(wake_q, info, sender); in pipelined_receive()
1073 DEFINE_WAKE_Q(wake_q); in do_mq_timedsend()
1157 pipelined_send(&wake_q, inf in do_mq_timedsend()
[all...]
/kernel/linux/linux-6.6/ipc/
H A Dsem.c87 #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) in wake_up_sem_queue_prepare()
796 wake_q_add_safe(wake_q, sleeper); in wake_up_sem_queue_prepare()
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) in wake_const_ops()
874 wake_up_sem_queue_prepare(q, error, wake_q); in wake_const_ops()
887 * @wake_q
786 wake_up_sem_queue_prepare(struct sem_queue *q, int error, struct wake_q_head *wake_q) wake_up_sem_queue_prepare() argument
854 wake_const_ops(struct sem_array *sma, int semnum, struct wake_q_head *wake_q) wake_const_ops() argument
893 do_smart_wakeup_zero(struct sem_array *sma, struct sembuf *sops, int nsops, struct wake_q_head *wake_q) do_smart_wakeup_zero() argument
949 update_queue(struct sem_array *sma, int semnum, struct wake_q_head *wake_q) update_queue() argument
1029 do_smart_update(struct sem_array *sma, struct sembuf *sops, int nsops, int otime, struct wake_q_head *wake_q) do_smart_update() argument
[all...]
H A Dmsg.c34 #include <linux/sched/wake_q.h>
213 struct wake_q_head *wake_q, bool kill) in ss_wakeup()
245 wake_q_add(wake_q, mss->tsk); in ss_wakeup()
250 struct wake_q_head *wake_q) in expunge_all()
261 wake_q_add_safe(wake_q, r_tsk); in expunge_all()
279 DEFINE_WAKE_Q(wake_q); in __releases()
281 expunge_all(msq, -EIDRM, &wake_q); in __releases()
282 ss_wakeup(msq, &wake_q, true); in __releases()
285 wake_up_q(&wake_q); in __releases()
432 DEFINE_WAKE_Q(wake_q); in msgctl_down()
212 ss_wakeup(struct msg_queue *msq, struct wake_q_head *wake_q, bool kill) ss_wakeup() argument
249 expunge_all(struct msg_queue *msq, int res, struct wake_q_head *wake_q) expunge_all() argument
816 pipelined_send(struct msg_queue *msq, struct msg_msg *msg, struct wake_q_head *wake_q) pipelined_send() argument
[all...]
H A Dmqueue.c39 #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, in __pipelined_op() argument
1028 wake_q_add_safe(wake_q, task); in __pipelined_op()
1034 static inline void pipelined_send(struct wake_q_head *wake_q, in pipelined_send() argument
1040 __pipelined_op(wake_q, info, receiver); in pipelined_send()
1045 static inline void pipelined_receive(struct wake_q_head *wake_q, in pipelined_receive() argument
1058 __pipelined_op(wake_q, info, sender); in pipelined_receive()
1074 DEFINE_WAKE_Q(wake_q); in do_mq_timedsend()
1158 pipelined_send(&wake_q, inf in do_mq_timedsend()
[all...]
/kernel/linux/linux-6.6/kernel/futex/
H A Dwaitwake.c115 void futex_wake_mark(struct wake_q_head *wake_q, struct futex_q *q) in futex_wake_mark() argument
137 wake_q_add_safe(wake_q, p); in futex_wake_mark()
149 DEFINE_WAKE_Q(wake_q); in futex_wake()
177 futex_wake_mark(&wake_q, this); in futex_wake()
184 wake_up_q(&wake_q); in futex_wake()
245 DEFINE_WAKE_Q(wake_q); in futex_wake_op()
292 futex_wake_mark(&wake_q, this); in futex_wake_op()
306 futex_wake_mark(&wake_q, this); in futex_wake_op()
316 wake_up_q(&wake_q); in futex_wake_op()
H A Dfutex.h7 #include <linux/sched/wake_q.h>
147 extern void futex_wake_mark(struct wake_q_head *wake_q, struct futex_q *q);
H A Drequeue.c372 DEFINE_WAKE_Q(wake_q); in futex_requeue()
594 futex_wake_mark(&wake_q, this); in futex_requeue()
674 wake_up_q(&wake_q); in futex_requeue()
/kernel/linux/linux-5.10/kernel/futex/
H A Dcore.c1477 static void mark_wake_futex(struct wake_q_head *wake_q, struct futex_q *q) in mark_wake_futex() argument
1499 wake_q_add_safe(wake_q, p); in mark_wake_futex()
1510 DEFINE_WAKE_Q(wake_q); in wake_futex_pi()
1560 postunlock = __rt_mutex_futex_unlock(&pi_state->pi_mutex, &wake_q); in wake_futex_pi()
1567 rt_mutex_postunlock(&wake_q); in wake_futex_pi()
1606 DEFINE_WAKE_Q(wake_q); in futex_wake()
1634 mark_wake_futex(&wake_q, this); in futex_wake()
1641 wake_up_q(&wake_q); in futex_wake()
1703 DEFINE_WAKE_Q(wake_q); in futex_wake_op()
1753 mark_wake_futex(&wake_q, thi in futex_wake_op()
[all...]
/kernel/linux/linux-5.10/kernel/
H A Dstop_machine.c24 #include <linux/sched/wake_q.h>
/kernel/linux/linux-6.6/kernel/
H A Dstop_machine.c24 #include <linux/sched/wake_q.h>
/kernel/linux/linux-5.10/include/linux/
H A Dsched.h1147 struct wake_q_node wake_q; member
/kernel/linux/linux-6.6/include/linux/
H A Dsched.h1255 struct wake_q_node wake_q; member
/kernel/linux/linux-5.10/kernel/sched/
H A Dcore.c524 struct wake_q_node *node = &task->wake_q; in __wake_q_add()
527 * Atomically grab the task, if ->wake_q is !nil already it means in __wake_q_add()
578 * wake_q to do the right thing depending whether or not the @task is already
594 task = container_of(node, struct task_struct, wake_q); in wake_up_q()
598 task->wake_q.next = NULL; in wake_up_q()
H A Dsched.h33 #include <linux/sched/wake_q.h>
/kernel/linux/linux-6.6/kernel/sched/
H A Dcore.c60 #include <linux/sched/wake_q.h>
956 struct wake_q_node *node = &task->wake_q; in __wake_q_add()
959 * Atomically grab the task, if ->wake_q is !nil already it means in __wake_q_add()
1010 * wake_q to do the right thing depending whether or not the @task is already
1026 task = container_of(node, struct task_struct, wake_q); in wake_up_q()
1029 task->wake_q.next = NULL; in wake_up_q()

Completed in 99 milliseconds

12