| /linux-6.15/include/linux/sched/ |
| H A D | wake_q.h | 68 void raw_spin_unlock_wake(raw_spinlock_t *lock, struct wake_q_head *wake_q) in raw_spin_unlock_wake() argument 72 if (wake_q) { in raw_spin_unlock_wake() 73 wake_up_q(wake_q); in raw_spin_unlock_wake() 74 wake_q_init(wake_q); in raw_spin_unlock_wake() 83 if (wake_q) { in raw_spin_unlock_irq_wake() 84 wake_up_q(wake_q); in raw_spin_unlock_irq_wake() 85 wake_q_init(wake_q); in raw_spin_unlock_irq_wake() 91 struct wake_q_head *wake_q) in raw_spin_unlock_irqrestore_wake() argument 95 if (wake_q) { in raw_spin_unlock_irqrestore_wake() 96 wake_up_q(wake_q); in raw_spin_unlock_irqrestore_wake() [all …]
|
| /linux-6.15/kernel/locking/ |
| H A D | ww_mutex.h | 287 wake_q_add(wake_q, waiter->task); in __ww_mutex_die() 303 struct wake_q_head *wake_q) in __ww_mutex_wound() argument 335 wake_q_add(wake_q, owner); in __ww_mutex_wound() 357 struct wake_q_head *wake_q) in __ww_mutex_check_waiters() argument 369 if (__ww_mutex_die(lock, cur, ww_ctx, wake_q) || in __ww_mutex_check_waiters() 382 DEFINE_WAKE_Q(wake_q); in ww_mutex_set_context_fastpath() 413 __ww_mutex_check_waiters(&lock->base, ctx, &wake_q); in ww_mutex_set_context_fastpath() 416 wake_up_q(&wake_q); in ww_mutex_set_context_fastpath() 500 struct wake_q_head *wake_q) in __ww_mutex_add_waiter() argument 544 __ww_mutex_die(lock, cur, ww_ctx, wake_q); in __ww_mutex_add_waiter() [all …]
|
| H A D | rwsem.c | 581 wake_q_init(wake_q); in rwsem_del_wake_waiter() 592 wake_up_q(wake_q); in rwsem_del_wake_waiter() 999 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() 1065 wake_up_q(&wake_q); in rwsem_down_read_slowpath() 1108 DEFINE_WAKE_Q(wake_q); in rwsem_down_write_slowpath() 1131 &wake_q); in rwsem_down_write_slowpath() 1138 wake_up_q(&wake_q); in rwsem_down_write_slowpath() 1212 wake_up_q(&wake_q); in rwsem_wake() [all …]
|
| H A D | rtmutex.c | 39 struct wake_q_head *wake_q) in __ww_mutex_add_waiter() argument 46 struct wake_q_head *wake_q) in __ww_mutex_check_waiters() argument 1208 struct wake_q_head *wake_q) in task_blocks_on_rt_mutex() argument 1609 struct wake_q_head *wake_q) in rt_mutex_slowlock_block() argument 1696 struct wake_q_head *wake_q) in __rt_mutex_slowlock() argument 1752 struct wake_q_head *wake_q) in __rt_mutex_slowlock_locked() argument 1761 &waiter, wake_q); in __rt_mutex_slowlock_locked() 1778 DEFINE_WAKE_Q(wake_q); in rt_mutex_slowlock() 1830 struct wake_q_head *wake_q) in rtlock_slowlock_locked() argument 1892 DEFINE_WAKE_Q(wake_q); in rtlock_slowlock() [all …]
|
| H A D | semaphore.c | 42 static noinline void __up(struct semaphore *sem, struct wake_q_head *wake_q); 187 DEFINE_WAKE_Q(wake_q); in up() 193 __up(sem, &wake_q); in up() 195 if (!wake_q_empty(&wake_q)) in up() 196 wake_up_q(&wake_q); in up() 277 struct wake_q_head *wake_q) in __up() argument 283 wake_q_add(wake_q, waiter->task); in __up()
|
| H A D | mutex.c | 569 DEFINE_WAKE_Q(wake_q); in __mutex_lock_common() 621 __ww_mutex_check_waiters(lock, ww_ctx, &wake_q); in __mutex_lock_common() 641 ret = __ww_mutex_add_waiter(&waiter, lock, ww_ctx, &wake_q); in __mutex_lock_common() 676 raw_spin_unlock_irqrestore_wake(&lock->wait_lock, flags, &wake_q); in __mutex_lock_common() 711 __ww_mutex_check_waiters(lock, ww_ctx, &wake_q); in __mutex_lock_common() 726 raw_spin_unlock_irqrestore_wake(&lock->wait_lock, flags, &wake_q); in __mutex_lock_common() 735 raw_spin_unlock_irqrestore_wake(&lock->wait_lock, flags, &wake_q); in __mutex_lock_common() 903 DEFINE_WAKE_Q(wake_q); in __mutex_unlock_slowpath() 943 wake_q_add(&wake_q, next); in __mutex_unlock_slowpath() 949 raw_spin_unlock_irqrestore_wake(&lock->wait_lock, flags, &wake_q); in __mutex_unlock_slowpath()
|
| H A D | rwbase_rt.c | 72 DEFINE_WAKE_Q(wake_q); in __rwbase_read_lock() 114 ret = rwbase_rtmutex_slowlock_locked(rtm, state, &wake_q); in __rwbase_read_lock() 128 wake_up_q(&wake_q); in __rwbase_read_lock()
|
| H A D | rtmutex_api.c | 296 struct wake_q_head *wake_q) in __rt_mutex_start_proxy_lock() argument 307 RT_MUTEX_FULL_CHAINWALK, wake_q); in __rt_mutex_start_proxy_lock() 346 DEFINE_WAKE_Q(wake_q); in rt_mutex_start_proxy_lock() 349 ret = __rt_mutex_start_proxy_lock(lock, waiter, task, &wake_q); in rt_mutex_start_proxy_lock() 354 wake_up_q(&wake_q); in rt_mutex_start_proxy_lock()
|
| H A D | spinlock_rt.c | 166 struct wake_q_head *wake_q) in rwbase_rtmutex_slowlock_locked() argument 168 rtlock_slowlock_locked(rtm, wake_q); in rwbase_rtmutex_slowlock_locked()
|
| /linux-6.15/ipc/ |
| H A D | sem.c | 855 struct wake_q_head *wake_q) in wake_const_ops() argument 1149 DEFINE_WAKE_Q(wake_q); in freeary() 1190 wake_up_q(&wake_q); in freeary() 1350 DEFINE_WAKE_Q(wake_q); in semctl_setval() 1401 wake_up_q(&wake_q); in semctl_setval() 1413 DEFINE_WAKE_Q(wake_q); in semctl_main() 1563 wake_up_q(&wake_q); in semctl_main() 2103 DEFINE_WAKE_Q(wake_q); in __do_semtimedop() 2116 wake_up_q(&wake_q); in __do_semtimedop() 2351 DEFINE_WAKE_Q(wake_q); in exit_sem() [all …]
|
| H A D | msg.c | 245 wake_q_add(wake_q, mss->tsk); in ss_wakeup() 250 struct wake_q_head *wake_q) in expunge_all() argument 279 DEFINE_WAKE_Q(wake_q); in freeque() 282 ss_wakeup(msq, &wake_q, true); in freeque() 285 wake_up_q(&wake_q); in freeque() 432 DEFINE_WAKE_Q(wake_q); in msgctl_down() 459 wake_up_q(&wake_q); in msgctl_down() 855 DEFINE_WAKE_Q(wake_q); in do_msgsnd() 953 wake_up_q(&wake_q); in do_msgsnd() 1105 DEFINE_WAKE_Q(wake_q); in do_msgrcv() [all …]
|
| H A D | mqueue.c | 1018 static inline void __pipelined_op(struct wake_q_head *wake_q, in __pipelined_op() argument 1029 wake_q_add_safe(wake_q, task); in __pipelined_op() 1035 static inline void pipelined_send(struct wake_q_head *wake_q, in pipelined_send() argument 1041 __pipelined_op(wake_q, info, receiver); in pipelined_send() 1059 __pipelined_op(wake_q, info, sender); in pipelined_receive() 1074 DEFINE_WAKE_Q(wake_q); in do_mq_timedsend() 1148 pipelined_send(&wake_q, info, msg_ptr, receiver); in do_mq_timedsend() 1160 wake_up_q(&wake_q); in do_mq_timedsend() 1234 DEFINE_WAKE_Q(wake_q); in do_mq_timedreceive() 1241 pipelined_receive(&wake_q, info); in do_mq_timedreceive() [all …]
|
| /linux-6.15/kernel/futex/ |
| H A D | waitwake.c | 134 void futex_wake_mark(struct wake_q_head *wake_q, struct futex_q *q) in futex_wake_mark() argument 149 wake_q_add_safe(wake_q, p); in futex_wake_mark() 160 DEFINE_WAKE_Q(wake_q); in futex_wake() 192 this->wake(&wake_q, this); in futex_wake() 199 wake_up_q(&wake_q); in futex_wake() 259 DEFINE_WAKE_Q(wake_q); in futex_wake_op() 306 this->wake(&wake_q, this); in futex_wake_op() 320 this->wake(&wake_q, this); in futex_wake_op() 330 wake_up_q(&wake_q); in futex_wake_op()
|
| H A D | requeue.c | 376 DEFINE_WAKE_Q(wake_q); in futex_requeue() 598 this->wake(&wake_q, this); in futex_requeue() 678 wake_up_q(&wake_q); in futex_requeue()
|
| H A D | futex.h | 144 typedef void (futex_wake_fn)(struct wake_q_head *wake_q, struct futex_q *q); 226 extern void futex_wake_mark(struct wake_q_head *wake_q, struct futex_q *q);
|
| H A D | pi.c | 925 DEFINE_WAKE_Q(wake_q); in futex_lock_pi() 1022 ret = __rt_mutex_start_proxy_lock(&q.pi_state->pi_mutex, &rt_waiter, current, &wake_q); in futex_lock_pi() 1023 raw_spin_unlock_irq_wake(&q.pi_state->pi_mutex.wait_lock, &wake_q); in futex_lock_pi()
|
| /linux-6.15/io_uring/ |
| H A D | futex.c | 154 static void io_futex_wakev_fn(struct wake_q_head *wake_q, struct futex_q *q) in io_futex_wakev_fn() argument 203 static void io_futex_wake_fn(struct wake_q_head *wake_q, struct futex_q *q) in io_futex_wake_fn() argument
|
| /linux-6.15/include/linux/ |
| H A D | sched.h | 1226 struct wake_q_node wake_q; member
|
| /linux-6.15/kernel/sched/ |
| H A D | core.c | 1000 struct wake_q_node *node = &task->wake_q; in __wake_q_add() 1070 task = container_of(node, struct task_struct, wake_q); in wake_up_q() 1073 WRITE_ONCE(task->wake_q.next, NULL); in wake_up_q()
|
| /linux-6.15/kernel/ |
| H A D | fork.c | 1185 tsk->wake_q.next = NULL; in dup_task_struct()
|