/kernel/linux/linux-5.10/include/linux/ |
H A D | semaphore.h | 18 struct list_head wait_list; member 25 .wait_list = LIST_HEAD_INIT((name).wait_list), \
|
H A D | rwsem.h | 47 struct list_head wait_list; member 94 .wait_list = LIST_HEAD_INIT((name).wait_list), \ 119 return !list_empty(&sem->wait_list); in rwsem_is_contended()
|
H A D | mutex.h | 59 struct list_head wait_list; member 135 , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | semaphore.h | 18 struct list_head wait_list; member 25 .wait_list = LIST_HEAD_INIT((name).wait_list), \
|
H A D | rwsem.h | 60 struct list_head wait_list; member 97 .wait_list = LIST_HEAD_INIT((name).wait_list), \ 122 return !list_empty(&sem->wait_list); in rwsem_is_contended()
|
H A D | mutex.h | 70 struct list_head wait_list; member 112 , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
|
/kernel/linux/linux-6.6/kernel/locking/ |
H A D | ww_mutex.h | 13 w = list_first_entry(&lock->wait_list, struct mutex_waiter, list); in __ww_waiter_first() 14 if (list_entry_is_head(w, &lock->wait_list, list)) in __ww_waiter_first() 24 if (list_entry_is_head(w, &lock->wait_list, list)) in __ww_waiter_next() 34 if (list_entry_is_head(w, &lock->wait_list, list)) in __ww_waiter_prev() 45 w = list_last_entry(&lock->wait_list, struct mutex_waiter, list); in __ww_waiter_last() 46 if (list_entry_is_head(w, &lock->wait_list, list)) in __ww_waiter_last() 55 struct list_head *p = &lock->wait_list; in __ww_waiter_add() 232 * so the wait_list ordering will go wobbly. rt_mutex re-queues the waiter and in __ww_ctx_less()
|
H A D | mutex-debug.c | 39 DEBUG_LOCKS_WARN_ON(list_empty(&lock->wait_list)); in debug_mutex_wake_waiter() 75 DEBUG_LOCKS_WARN_ON(!lock->wait_list.prev && !lock->wait_list.next); in debug_mutex_unlock()
|
H A D | rwsem.c | 74 list_empty(&(sem)->wait_list) ? "" : "not ")) \ 114 * be the first one in the wait_list to be eligible for setting the handoff 325 INIT_LIST_HEAD(&sem->wait_list); in __init_rwsem() 346 list_first_entry(&sem->wait_list, struct rwsem_waiter, list) 373 list_add_tail(&waiter->list, &sem->wait_list); in rwsem_add_waiter() 378 * Remove a waiter from the wait_list and clear flags. 383 * Return: true if wait_list isn't empty and false otherwise 390 if (likely(!list_empty(&sem->wait_list))) in rwsem_del_waiter() 510 list_for_each_entry_safe(waiter, tmp, &sem->wait_list, list) { in rwsem_mark_wake() 528 if (list_empty(&sem->wait_list)) { in rwsem_mark_wake() [all...] |
H A D | semaphore.c | 24 * semaphore. If it's zero, there may be tasks waiting on the wait_list. 188 if (likely(list_empty(&sem->wait_list))) in up() 214 list_add_tail(&waiter.list, &sem->wait_list); in ___down_common() 274 struct semaphore_waiter *waiter = list_first_entry(&sem->wait_list, in __up()
|
H A D | mutex.c | 50 INIT_LIST_HEAD(&lock->wait_list); in __mutex_init() 197 return list_first_entry(&lock->wait_list, struct mutex_waiter, list) == waiter; in __mutex_waiter_is_first() 201 * Add @waiter to a given location in the lock wait_list and set the 219 if (likely(list_empty(&lock->wait_list))) in __mutex_remove_waiter() 637 __mutex_add_waiter(lock, &waiter, &lock->wait_list); in __mutex_lock_common() 934 if (!list_empty(&lock->wait_list)) { in __mutex_unlock_slowpath() 937 list_first_entry(&lock->wait_list, in __mutex_unlock_slowpath()
|
/kernel/linux/linux-5.10/kernel/locking/ |
H A D | rwsem.c | 111 list_empty(&(sem)->wait_list) ? "" : "not ")) \ 151 * be the first one in the wait_list to be eligible for setting the handoff 338 INIT_LIST_HEAD(&sem->wait_list); in __init_rwsem() 359 list_first_entry(&sem->wait_list, struct rwsem_waiter, list) 501 list_for_each_entry_safe(waiter, tmp, &sem->wait_list, list) { in rwsem_mark_wake() 517 if (list_empty(&sem->wait_list)) { in rwsem_mark_wake() 587 if (list_is_singular(&sem->wait_list)) in rwsem_try_write_lock() 1023 if (!list_empty(&sem->wait_list)) in rwsem_down_read_slowpath() 1041 if (list_empty(&sem->wait_list)) { in rwsem_down_read_slowpath() 1059 list_add_tail(&waiter.list, &sem->wait_list); in rwsem_down_read_slowpath() [all...] |
H A D | mutex-debug.c | 40 DEBUG_LOCKS_WARN_ON(list_empty(&lock->wait_list)); in debug_mutex_wake_waiter() 76 DEBUG_LOCKS_WARN_ON(!lock->wait_list.prev && !lock->wait_list.next); in debug_mutex_unlock()
|
H A D | mutex.c | 44 INIT_LIST_HEAD(&lock->wait_list); in __mutex_init() 200 return list_first_entry(&lock->wait_list, struct mutex_waiter, list) == waiter; in __mutex_waiter_is_first() 204 * Add @waiter to a given location in the lock wait_list and set the 222 if (likely(list_empty(&lock->wait_list))) in __mutex_remove_waiter() 460 list_for_each_entry(cur, &lock->wait_list, list) { in __ww_mutex_check_waiters() 840 list_for_each_entry_continue_reverse(cur, &lock->wait_list, list) { in __ww_mutex_check_kill() 871 __mutex_add_waiter(lock, waiter, &lock->wait_list); in __ww_mutex_add_waiter() 884 pos = &lock->wait_list; in __ww_mutex_add_waiter() 885 list_for_each_entry_reverse(cur, &lock->wait_list, list) { in __ww_mutex_add_waiter() 997 __mutex_add_waiter(lock, &waiter, &lock->wait_list); in __mutex_lock_common() [all...] |
H A D | semaphore.c | 24 * semaphore. If it's zero, there may be tasks waiting on the wait_list. 183 if (likely(list_empty(&sem->wait_list))) in up() 209 list_add_tail(&waiter.list, &sem->wait_list); in __down_common() 257 struct semaphore_waiter *waiter = list_first_entry(&sem->wait_list, in __up()
|
/kernel/linux/linux-6.6/rust/kernel/sync/ |
H A D | condvar.rs | 76 pub(crate) wait_list: Opaque<bindings::wait_queue_head>, 100 wait_list <- Opaque::ffi_init(|slot| unsafe { in new() 112 // SAFETY: Both `wait` and `wait_list` point to valid memory. 114 bindings::prepare_to_wait_exclusive(self.wait_list.get(), wait.get(), wait_state as _) 120 // SAFETY: Both `wait` and `wait_list` point to valid memory. 121 unsafe { bindings::finish_wait(self.wait_list.get(), wait.get()) }; 148 // SAFETY: `wait_list` points to valid memory. in wait_uninterruptible() 151 self.wait_list.get(), in wait_uninterruptible()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/omapdrm/ |
H A D | omap_irq.c | 27 list_for_each_entry(wait, &priv->wait_list, node) in omap_irq_update() 53 list_add(&wait->node, &priv->wait_list); in omap_irq_wait_init() 242 list_for_each_entry_safe(wait, n, &priv->wait_list, node) { in omap_irq_handler() 274 INIT_LIST_HEAD(&priv->wait_list); in omap_drm_irq_install()
|
H A D | omap_drv.h | 76 spinlock_t wait_lock; /* protects the wait_list */ 77 struct list_head wait_list; /* list of omap_irq_wait */ member 78 u32 irq_mask; /* enabled irqs in addition to wait_list */
|
/kernel/linux/linux-6.6/drivers/gpu/drm/omapdrm/ |
H A D | omap_irq.c | 27 list_for_each_entry(wait, &priv->wait_list, node) in omap_irq_update() 53 list_add(&wait->node, &priv->wait_list); in omap_irq_wait_init() 240 list_for_each_entry_safe(wait, n, &priv->wait_list, node) { in omap_irq_handler() 265 INIT_LIST_HEAD(&priv->wait_list); in omap_drm_irq_install()
|
H A D | omap_drv.h | 94 spinlock_t wait_lock; /* protects the wait_list */ 95 struct list_head wait_list; /* list of omap_irq_wait */ member 96 u32 irq_mask; /* enabled irqs in addition to wait_list */
|
/kernel/linux/linux-5.10/drivers/md/bcache/ |
H A D | closure.c | 60 void __closure_wake_up(struct closure_waitlist *wait_list) in __closure_wake_up() argument 66 list = llist_del_all(&wait_list->list); in __closure_wake_up()
|
/kernel/linux/linux-6.6/drivers/md/bcache/ |
H A D | closure.c | 60 void __closure_wake_up(struct closure_waitlist *wait_list) in __closure_wake_up() argument 66 list = llist_del_all(&wait_list->list); in __closure_wake_up()
|
/kernel/linux/linux-5.10/drivers/nvme/target/ |
H A D | rdma.c | 75 struct list_head wait_list; member 528 struct nvmet_rdma_rsp, wait_list); in nvmet_rdma_process_wr_wait_list() 529 list_del(&rsp->wait_list); in nvmet_rdma_process_wr_wait_list() 536 list_add(&rsp->wait_list, &queue->rsp_wr_wait_list); in nvmet_rdma_process_wr_wait_list() 997 list_add_tail(&cmd->wait_list, &queue->rsp_wr_wait_list); in nvmet_rdma_handle_command() 1053 list_add_tail(&rsp->wait_list, &queue->rsp_wait_list); in nvmet_rdma_recv_done() 1629 struct nvmet_rdma_rsp, wait_list); in nvmet_rdma_queue_established() 1630 list_del(&cmd->wait_list); in nvmet_rdma_queue_established() 1656 wait_list); in __nvmet_rdma_queue_disconnect() 1657 list_del(&rsp->wait_list); in __nvmet_rdma_queue_disconnect() [all...] |
/kernel/linux/linux-6.6/drivers/nvme/target/ |
H A D | rdma.c | 76 struct list_head wait_list; member 529 struct nvmet_rdma_rsp, wait_list); in nvmet_rdma_process_wr_wait_list() 530 list_del(&rsp->wait_list); in nvmet_rdma_process_wr_wait_list() 537 list_add(&rsp->wait_list, &queue->rsp_wr_wait_list); in nvmet_rdma_process_wr_wait_list() 998 list_add_tail(&cmd->wait_list, &queue->rsp_wr_wait_list); in nvmet_rdma_handle_command() 1054 list_add_tail(&rsp->wait_list, &queue->rsp_wait_list); in nvmet_rdma_recv_done() 1629 struct nvmet_rdma_rsp, wait_list); in nvmet_rdma_queue_established() 1630 list_del(&cmd->wait_list); in nvmet_rdma_queue_established() 1656 wait_list); in __nvmet_rdma_queue_disconnect() 1657 list_del(&rsp->wait_list); in __nvmet_rdma_queue_disconnect() [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/ulp/rtrs/ |
H A D | rtrs-srv.h | 59 struct list_head wait_list; member
|