Home
last modified time | relevance | path

Searched refs:wait_list (Results 1 – 18 of 18) sorted by relevance

/linux-4.4.14/kernel/locking/
Drwsem-spinlock.c51 INIT_LIST_HEAD(&sem->wait_list); in __init_rwsem()
71 waiter = list_entry(sem->wait_list.next, struct rwsem_waiter, list); in __rwsem_do_wake()
100 if (next == &sem->wait_list) in __rwsem_do_wake()
119 waiter = list_entry(sem->wait_list.next, struct rwsem_waiter, list); in __rwsem_wake_one_writer()
136 if (sem->count >= 0 && list_empty(&sem->wait_list)) { in __down_read()
151 list_add_tail(&waiter.list, &sem->wait_list); in __down_read()
180 if (sem->count >= 0 && list_empty(&sem->wait_list)) { in __down_read_trylock()
206 list_add_tail(&waiter.list, &sem->wait_list); in __down_write_nested()
265 if (--sem->count == 0 && !list_empty(&sem->wait_list)) in __up_read()
281 if (!list_empty(&sem->wait_list)) in __up_write()
[all …]
Drwsem-xadd.c85 INIT_LIST_HEAD(&sem->wait_list); in __init_rwsem()
129 waiter = list_entry(sem->wait_list.next, struct rwsem_waiter, list); in __rwsem_do_wake()
168 if (waiter->list.next == &sem->wait_list) in __rwsem_do_wake()
184 next = sem->wait_list.next; in __rwsem_do_wake()
203 sem->wait_list.next = next; in __rwsem_do_wake()
204 next->prev = &sem->wait_list; in __rwsem_do_wake()
226 if (list_empty(&sem->wait_list)) in rwsem_down_read_failed()
228 list_add_tail(&waiter.list, &sem->wait_list); in rwsem_down_read_failed()
267 if (!list_is_singular(&sem->wait_list)) in rwsem_try_write_lock()
460 if (list_empty(&sem->wait_list)) in rwsem_down_write_failed()
[all …]
Dmutex-debug.c40 DEBUG_LOCKS_WARN_ON(list_empty(&lock->wait_list)); in debug_mutex_wake_waiter()
82 DEBUG_LOCKS_WARN_ON(!lock->wait_list.prev && !lock->wait_list.next); in debug_mutex_unlock()
Dmutex.c54 INIT_LIST_HEAD(&lock->wait_list); in __mutex_init()
187 list_for_each_entry(cur, &lock->base.wait_list, list) { in ww_mutex_set_context_fastpath()
213 list_for_each_entry(cur, &lock->base.wait_list, list) { in ww_mutex_set_context_slowpath()
540 list_add_tail(&waiter.list, &lock->wait_list); in __mutex_lock_common()
586 if (likely(list_empty(&lock->wait_list))) in __mutex_lock_common()
739 if (!list_empty(&lock->wait_list)) { in __mutex_unlock_common_slowpath()
742 list_entry(lock->wait_list.next, in __mutex_unlock_common_slowpath()
878 if (likely(list_empty(&lock->wait_list))) in __mutex_trylock_slowpath()
Dsemaphore.c183 if (likely(list_empty(&sem->wait_list))) in up()
210 list_add_tail(&waiter.list, &sem->wait_list); in __down_common()
258 struct semaphore_waiter *waiter = list_first_entry(&sem->wait_list, in __up()
/linux-4.4.14/include/linux/
Dsemaphore.h19 struct list_head wait_list; member
26 .wait_list = LIST_HEAD_INIT((name).wait_list), \
Drwsem.h29 struct list_head wait_list; member
76 .wait_list = LIST_HEAD_INIT((name).wait_list), \
102 return !list_empty(&sem->wait_list); in rwsem_is_contended()
Dmutex.h54 struct list_head wait_list; member
112 , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
Drwsem-spinlock.h26 struct list_head wait_list; member
/linux-4.4.14/drivers/md/bcache/
Dclosure.c64 void __closure_wake_up(struct closure_waitlist *wait_list) in __closure_wake_up() argument
70 list = llist_del_all(&wait_list->list); in __closure_wake_up()
/linux-4.4.14/drivers/infiniband/core/
Dmad_priv.h98 struct list_head wait_list; member
Dmad.c362 INIT_LIST_HEAD(&mad_agent_priv->wait_list); in ib_register_mad_agent()
1913 list_for_each_entry(wr, &mad_agent_priv->wait_list, agent_list) { in ib_find_send_mad()
2304 if (list_empty(&mad_agent_priv->wait_list)) { in adjust_timeout()
2307 mad_send_wr = list_entry(mad_agent_priv->wait_list.next, in adjust_timeout()
2337 list_for_each_prev(list_item, &mad_agent_priv->wait_list) { in wait_for_response()
2347 list_item = &mad_agent_priv->wait_list; in wait_for_response()
2351 if (mad_agent_priv->wait_list.next == &mad_send_wr->agent_list) in wait_for_response()
2599 list_splice_init(&mad_agent_priv->wait_list, &cancel_list); in cancel_mads()
2622 list_for_each_entry(mad_send_wr, &mad_agent_priv->wait_list, in find_send_wr()
2822 while (!list_empty(&mad_agent_priv->wait_list)) { in timeout_sends()
[all …]
/linux-4.4.14/drivers/infiniband/ulp/srpt/
Dib_srpt.h204 struct list_head wait_list; member
Dib_srpt.c1824 list_add_tail(&recv_ioctx->wait_list, &ch->cmd_wait_list); in srpt_handle_new_iu()
1836 list_add_tail(&recv_ioctx->wait_list, in srpt_handle_new_iu()
1949 wait_list); in srpt_process_send_completion()
1950 list_del(&recv_ioctx->wait_list); in srpt_process_send_completion()
2639 wait_list) { in srpt_cm_rtu_recv()
2640 list_del(&ioctx->wait_list); in srpt_cm_rtu_recv()
/linux-4.4.14/drivers/net/ethernet/qlogic/qlcnic/
Dqlcnic_sriov_common.c188 INIT_LIST_HEAD(&vf->rcv_act.wait_list); in qlcnic_sriov_init()
189 INIT_LIST_HEAD(&vf->rcv_pend.wait_list); in qlcnic_sriov_init()
238 while (!list_empty(&t_list->wait_list)) { in qlcnic_sriov_cleanup_list()
239 trans = list_first_entry(&t_list->wait_list, in qlcnic_sriov_cleanup_list()
1059 trans = list_first_entry(&vf->rcv_act.wait_list, in qlcnic_sriov_process_bc_cmd()
1119 list_add_tail(&trans->list, &t_list->wait_list); in __qlcnic_sriov_add_act_list()
1151 list_for_each(node, &vf->rcv_pend.wait_list) { in qlcnic_sriov_handle_pending_trans()
1252 list_add_tail(&trans->list, &vf->rcv_pend.wait_list); in qlcnic_sriov_handle_bc_cmd()
Dqlcnic_sriov.h62 struct list_head wait_list; member
/linux-4.4.14/Documentation/locking/
Drt-mutex-design.txt464 that is located on the mutex's wait_list.
470 process on the mutex's wait_list, then we remove the previous top waiter
572 the task on the wait_list of the mutex, and if need be, the pi_list of
672 add the waiter to the wait_list. If the current process is the highest
701 still on the wait_list. And because of dynamic changing of priorities,
703 highest priority task on the wait_list.
709 NULL and the task needs to be taken off the wait_list of the mutex and perhaps
746 waiter of the lock is found and removed from the wait_list of the mutex
/linux-4.4.14/drivers/acpi/
Dosl.c1273 BUG_ON(!list_empty(&sem->wait_list)); in acpi_os_delete_semaphore()