/Linux-v5.15/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 add_wait_queue_priority(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry) in add_wait_queue_priority() argument 44 wq_entry->flags |= WQ_FLAG_EXCLUSIVE | WQ_FLAG_PRIORITY; in add_wait_queue_priority() 46 __add_wait_queue(wq_head, wq_entry); in add_wait_queue_priority() 51 void remove_wait_queue(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry) in remove_wait_queue() argument [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.15/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); 82 static inline void init_waitqueue_entry(struct wait_queue_entry *wq_entry, struct task_struct *p) in init_waitqueue_entry() argument 84 wq_entry->flags = 0; in init_waitqueue_entry() 85 wq_entry->private = p; in init_waitqueue_entry() 86 wq_entry->func = default_wake_function; in init_waitqueue_entry() 90 init_waitqueue_func_entry(struct wait_queue_entry *wq_entry, wait_queue_func_t func) in init_waitqueue_func_entry() argument 92 wq_entry->flags = 0; in init_waitqueue_func_entry() 93 wq_entry->private = NULL; in init_waitqueue_func_entry() 94 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.15/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.15/drivers/tee/optee/ |
D | rpc.c | 17 struct wq_entry { struct 146 static struct wq_entry *wq_entry_get(struct optee_wait_queue *wq, u32 key) in wq_entry_get() 148 struct wq_entry *w; in wq_entry_get() 169 struct wq_entry *w = wq_entry_get(wq, key); in wq_sleep() 182 struct wq_entry *w = wq_entry_get(wq, key); in wq_wakeup()
|
/Linux-v5.15/fs/ |
D | inode.c | 2058 prepare_to_wait(wq, &wait.wq_entry, TASK_UNINTERRUPTIBLE); in __wait_on_freeing_inode() 2062 finish_wait(wq, &wait.wq_entry); in __wait_on_freeing_inode() 2218 prepare_to_wait(wq, &q.wq_entry, TASK_UNINTERRUPTIBLE); in __inode_dio_wait() 2222 finish_wait(wq, &q.wq_entry); in __inode_dio_wait()
|
/Linux-v5.15/fs/xfs/ |
D | xfs_icache.c | 300 prepare_to_wait(wq, &wait.wq_entry, TASK_UNINTERRUPTIBLE); in xfs_inew_wait() 305 finish_wait(wq, &wait.wq_entry); in xfs_inew_wait()
|
D | xfs_inode.c | 2713 prepare_to_wait(wq, &wait.wq_entry, TASK_UNINTERRUPTIBLE); in __xfs_iunpin_wait() 2717 finish_wait(wq, &wait.wq_entry); in __xfs_iunpin_wait()
|
/Linux-v5.15/block/ |
D | blk-iocost.c | 1430 static int iocg_wake_fn(struct wait_queue_entry *wq_entry, unsigned mode, in iocg_wake_fn() argument 1433 struct iocg_wait *wait = container_of(wq_entry, struct iocg_wait, wait); in iocg_wake_fn() 1452 default_wake_function(wq_entry, mode, flags, key); in iocg_wake_fn() 1453 list_del_init_careful(&wq_entry->entry); in iocg_wake_fn()
|
/Linux-v5.15/fs/ext4/ |
D | fast_commit.c | 237 prepare_to_wait(wq, &wait.wq_entry, TASK_UNINTERRUPTIBLE); in ext4_fc_wait_committing_inode() 240 finish_wait(wq, &wait.wq_entry); in ext4_fc_wait_committing_inode()
|
/Linux-v5.15/fs/jbd2/ |
D | journal.c | 3057 prepare_to_wait(wq, &wait.wq_entry, TASK_UNINTERRUPTIBLE); in jbd2_journal_release_jbd_inode() 3060 finish_wait(wq, &wait.wq_entry); in jbd2_journal_release_jbd_inode()
|