| /Linux-v5.10/kernel/sched/ |
| D | wait.c | 18 void add_wait_queue(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry) in add_wait_queue() argument 22 wq_entry->flags &= ~WQ_FLAG_EXCLUSIVE; in add_wait_queue() 24 __add_wait_queue(wq_head, wq_entry); in add_wait_queue() 29 void add_wait_queue_exclusive(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry) in add_wait_queue_exclusive() argument 33 wq_entry->flags |= WQ_FLAG_EXCLUSIVE; in add_wait_queue_exclusive() 35 __add_wait_queue_entry_tail(wq_head, wq_entry); in add_wait_queue_exclusive() 40 void remove_wait_queue(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry) in remove_wait_queue() argument 45 __remove_wait_queue(wq_head, wq_entry); in remove_wait_queue() 239 prepare_to_wait(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry, int state) in prepare_to_wait() argument 243 wq_entry->flags &= ~WQ_FLAG_EXCLUSIVE; in prepare_to_wait() [all …]
|
| D | wait_bit.c | 21 int wake_bit_function(struct wait_queue_entry *wq_entry, unsigned mode, int sync, void *arg) in wake_bit_function() argument 24 …struct wait_bit_queue_entry *wait_bit = container_of(wq_entry, struct wait_bit_queue_entry, wq_ent… in wake_bit_function() 31 return autoremove_wake_function(wq_entry, mode, sync, key); in wake_bit_function() 47 prepare_to_wait(wq_head, &wbq_entry->wq_entry, mode); in __wait_on_bit() 52 finish_wait(wq_head, &wbq_entry->wq_entry); in __wait_on_bit() 62 DEFINE_WAIT_BIT(wq_entry, word, bit); in out_of_line_wait_on_bit() 64 return __wait_on_bit(wq_head, &wq_entry, action, mode); in out_of_line_wait_on_bit() 73 DEFINE_WAIT_BIT(wq_entry, word, bit); in out_of_line_wait_on_bit_timeout() 75 wq_entry.key.timeout = jiffies + timeout; in out_of_line_wait_on_bit_timeout() 77 return __wait_on_bit(wq_head, &wq_entry, action, mode); in out_of_line_wait_on_bit_timeout() [all …]
|
| /Linux-v5.10/include/linux/ |
| D | wait.h | 16 typedef int (*wait_queue_func_t)(struct wait_queue_entry *wq_entry, unsigned mode, int flags, void … 17 int default_wake_function(struct wait_queue_entry *wq_entry, unsigned mode, int flags, void *key); 81 static inline void init_waitqueue_entry(struct wait_queue_entry *wq_entry, struct task_struct *p) in init_waitqueue_entry() argument 83 wq_entry->flags = 0; in init_waitqueue_entry() 84 wq_entry->private = p; in init_waitqueue_entry() 85 wq_entry->func = default_wake_function; in init_waitqueue_entry() 89 init_waitqueue_func_entry(struct wait_queue_entry *wq_entry, wait_queue_func_t func) in init_waitqueue_func_entry() argument 91 wq_entry->flags = 0; in init_waitqueue_func_entry() 92 wq_entry->private = NULL; in init_waitqueue_func_entry() 93 wq_entry->func = func; in init_waitqueue_func_entry() [all …]
|
| D | wait_bit.h | 18 struct wait_queue_entry wq_entry; member 36 int wake_bit_function(struct wait_queue_entry *wq_entry, unsigned mode, int sync, void *key); 41 .wq_entry = { \ 45 LIST_HEAD_INIT((name).wq_entry.entry), \ 253 &__wbq_entry.wq_entry, \ 265 finish_wait(__wq_head, &__wbq_entry.wq_entry); \
|
| /Linux-v5.10/kernel/locking/ |
| D | percpu-rwsem.c | 117 static int percpu_rwsem_wake_function(struct wait_queue_entry *wq_entry, in percpu_rwsem_wake_function() argument 121 bool reader = wq_entry->flags & WQ_FLAG_CUSTOM; in percpu_rwsem_wake_function() 129 p = get_task_struct(wq_entry->private); in percpu_rwsem_wake_function() 130 list_del_init(&wq_entry->entry); in percpu_rwsem_wake_function() 131 smp_store_release(&wq_entry->private, NULL); in percpu_rwsem_wake_function() 141 DEFINE_WAIT_FUNC(wq_entry, percpu_rwsem_wake_function); in percpu_rwsem_wait() 151 wq_entry.flags |= WQ_FLAG_EXCLUSIVE | reader * WQ_FLAG_CUSTOM; in percpu_rwsem_wait() 152 __add_wait_queue_entry_tail(&sem->waiters, &wq_entry); in percpu_rwsem_wait() 158 if (!smp_load_acquire(&wq_entry.private)) in percpu_rwsem_wait()
|
| /Linux-v5.10/drivers/tee/optee/ |
| D | rpc.c | 16 struct wq_entry { struct 144 static struct wq_entry *wq_entry_get(struct optee_wait_queue *wq, u32 key) in wq_entry_get() 146 struct wq_entry *w; in wq_entry_get() 167 struct wq_entry *w = wq_entry_get(wq, key); in wq_sleep() 180 struct wq_entry *w = wq_entry_get(wq, key); in wq_wakeup()
|
| /Linux-v5.10/fs/ |
| D | inode.c | 2045 prepare_to_wait(wq, &wait.wq_entry, TASK_UNINTERRUPTIBLE); in __wait_on_freeing_inode() 2049 finish_wait(wq, &wait.wq_entry); in __wait_on_freeing_inode() 2188 prepare_to_wait(wq, &q.wq_entry, TASK_UNINTERRUPTIBLE); in __inode_dio_wait() 2192 finish_wait(wq, &q.wq_entry); in __inode_dio_wait()
|
| /Linux-v5.10/fs/xfs/ |
| D | xfs_icache.c | 244 prepare_to_wait(wq, &wait.wq_entry, TASK_UNINTERRUPTIBLE); in xfs_inew_wait() 249 finish_wait(wq, &wait.wq_entry); in xfs_inew_wait()
|
| D | xfs_inode.c | 2771 prepare_to_wait(wq, &wait.wq_entry, TASK_UNINTERRUPTIBLE); in __xfs_iunpin_wait() 2775 finish_wait(wq, &wait.wq_entry); in __xfs_iunpin_wait()
|
| /Linux-v5.10/block/ |
| D | blk-iocost.c | 1374 static int iocg_wake_fn(struct wait_queue_entry *wq_entry, unsigned mode, in iocg_wake_fn() argument 1377 struct iocg_wait *wait = container_of(wq_entry, struct iocg_wait, wait); in iocg_wake_fn() 1393 list_del_init(&wq_entry->entry); in iocg_wake_fn() 1396 default_wake_function(wq_entry, mode, flags, key); in iocg_wake_fn()
|
| /Linux-v5.10/fs/ext4/ |
| D | fast_commit.c | 176 prepare_to_wait(wq, &wait.wq_entry, TASK_UNINTERRUPTIBLE); in ext4_fc_wait_committing_inode() 179 finish_wait(wq, &wait.wq_entry); in ext4_fc_wait_committing_inode()
|
| /Linux-v5.10/fs/jbd2/ |
| D | journal.c | 2882 prepare_to_wait(wq, &wait.wq_entry, TASK_UNINTERRUPTIBLE); in jbd2_journal_release_jbd_inode() 2885 finish_wait(wq, &wait.wq_entry); in jbd2_journal_release_jbd_inode()
|