Home
last modified time | relevance | path

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

/linux-4.1.27/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()
446 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()
542 list_add_tail(&waiter.list, &lock->wait_list); in __mutex_lock_common()
588 if (likely(list_empty(&lock->wait_list))) in __mutex_lock_common()
741 if (!list_empty(&lock->wait_list)) { in __mutex_unlock_common_slowpath()
744 list_entry(lock->wait_list.next, in __mutex_unlock_common_slowpath()
880 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.1.27/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.1.27/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.1.27/drivers/infiniband/core/
Dmad_priv.h100 struct list_head wait_list; member
Dmad.c369 INIT_LIST_HEAD(&mad_agent_priv->wait_list); in ib_register_mad_agent()
1822 list_for_each_entry(wr, &mad_agent_priv->wait_list, agent_list) { in ib_find_send_mad()
2088 if (list_empty(&mad_agent_priv->wait_list)) { in adjust_timeout()
2091 mad_send_wr = list_entry(mad_agent_priv->wait_list.next, in adjust_timeout()
2121 list_for_each_prev(list_item, &mad_agent_priv->wait_list) { in wait_for_response()
2131 list_item = &mad_agent_priv->wait_list; in wait_for_response()
2135 if (mad_agent_priv->wait_list.next == &mad_send_wr->agent_list) in wait_for_response()
2383 list_splice_init(&mad_agent_priv->wait_list, &cancel_list); in cancel_mads()
2406 list_for_each_entry(mad_send_wr, &mad_agent_priv->wait_list, in find_send_wr()
2591 while (!list_empty(&mad_agent_priv->wait_list)) { in timeout_sends()
[all …]
/linux-4.1.27/drivers/infiniband/ulp/srpt/
Dib_srpt.h204 struct list_head wait_list; member
Dib_srpt.c1829 list_add_tail(&recv_ioctx->wait_list, &ch->cmd_wait_list); in srpt_handle_new_iu()
1841 list_add_tail(&recv_ioctx->wait_list, in srpt_handle_new_iu()
1954 wait_list); in srpt_process_send_completion()
1955 list_del(&recv_ioctx->wait_list); in srpt_process_send_completion()
2646 wait_list) { in srpt_cm_rtu_recv()
2647 list_del(&ioctx->wait_list); in srpt_cm_rtu_recv()
/linux-4.1.27/drivers/net/ethernet/qlogic/qlcnic/
Dqlcnic_sriov_common.c187 INIT_LIST_HEAD(&vf->rcv_act.wait_list); in qlcnic_sriov_init()
188 INIT_LIST_HEAD(&vf->rcv_pend.wait_list); in qlcnic_sriov_init()
237 while (!list_empty(&t_list->wait_list)) { in qlcnic_sriov_cleanup_list()
238 trans = list_first_entry(&t_list->wait_list, in qlcnic_sriov_cleanup_list()
1060 trans = list_first_entry(&vf->rcv_act.wait_list, in qlcnic_sriov_process_bc_cmd()
1120 list_add_tail(&trans->list, &t_list->wait_list); in __qlcnic_sriov_add_act_list()
1152 list_for_each(node, &vf->rcv_pend.wait_list) { in qlcnic_sriov_handle_pending_trans()
1253 list_add_tail(&trans->list, &vf->rcv_pend.wait_list); in qlcnic_sriov_handle_bc_cmd()
Dqlcnic_sriov.h61 struct list_head wait_list; member
/linux-4.1.27/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.1.27/drivers/acpi/
Dosl.c1284 BUG_ON(!list_empty(&sem->wait_list)); in acpi_os_delete_semaphore()