Home
last modified time | relevance | path

Searched refs:wake_q (Results 1 – 20 of 20) sorted by relevance

/linux-6.15/include/linux/sched/
H A Dwake_q.h68 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 Dww_mutex.h287 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 Drwsem.c581 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 Drtmutex.c39 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 Dsemaphore.c42 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 Dmutex.c569 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 Drwbase_rt.c72 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 Drtmutex_api.c296 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 Dspinlock_rt.c166 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 Dsem.c855 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 Dmsg.c245 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 Dmqueue.c1018 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 Dwaitwake.c134 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 Drequeue.c376 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 Dfutex.h144 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 Dpi.c925 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 Dfutex.c154 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 Dsched.h1226 struct wake_q_node wake_q; member
/linux-6.15/kernel/sched/
H A Dcore.c1000 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 Dfork.c1185 tsk->wake_q.next = NULL; in dup_task_struct()