Home
last modified time | relevance | path

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

/linux-2.6.39/lib/
Drwsem-spinlock.c48 INIT_LIST_HEAD(&sem->wait_list); in __init_rwsem()
68 waiter = list_entry(sem->wait_list.next, struct rwsem_waiter, list); in __rwsem_do_wake()
106 if (list_empty(&sem->wait_list)) in __rwsem_do_wake()
128 waiter = list_entry(sem->wait_list.next, struct rwsem_waiter, list); in __rwsem_wake_one_writer()
150 if (sem->activity >= 0 && list_empty(&sem->wait_list)) { in __down_read()
165 list_add_tail(&waiter.list, &sem->wait_list); in __down_read()
194 if (sem->activity >= 0 && list_empty(&sem->wait_list)) { in __down_read_trylock()
217 if (sem->activity == 0 && list_empty(&sem->wait_list)) { in __down_write_nested()
232 list_add_tail(&waiter.list, &sem->wait_list); in __down_write_nested()
265 if (sem->activity == 0 && list_empty(&sem->wait_list)) { in __down_write_trylock()
[all …]
Drwsem.c26 INIT_LIST_HEAD(&sem->wait_list); in __init_rwsem()
65 waiter = list_entry(sem->wait_list.next, struct rwsem_waiter, list); in __rwsem_do_wake()
80 if (waiter->list.next == &sem->wait_list) in __rwsem_do_wake()
129 if (waiter->list.next == &sem->wait_list) in __rwsem_do_wake()
144 next = sem->wait_list.next; in __rwsem_do_wake()
155 sem->wait_list.next = next; in __rwsem_do_wake()
156 next->prev = &sem->wait_list; in __rwsem_do_wake()
188 if (list_empty(&sem->wait_list)) in rwsem_down_failed_common()
190 list_add_tail(&waiter.list, &sem->wait_list); in rwsem_down_failed_common()
251 if (!list_empty(&sem->wait_list)) in rwsem_wake()
[all …]
/linux-2.6.39/include/linux/
Dsemaphore.h19 struct list_head wait_list; member
26 .wait_list = LIST_HEAD_INIT((name).wait_list), \
Drtmutex.h30 struct plist_head wait_list; member
69 , .wait_list = PLIST_HEAD_INIT_RAW(mutexname.wait_list, mutexname.wait_lock) \
Dmutex.h52 struct list_head wait_list; member
108 , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
Drwsem.h29 struct list_head wait_list; member
61 LIST_HEAD_INIT((name).wait_list) __RWSEM_DEP_MAP_INIT(name) }
Drwsem-spinlock.h26 struct list_head wait_list; member
/linux-2.6.39/kernel/
Dmutex.c44 INIT_LIST_HEAD(&lock->wait_list); in __mutex_init()
211 list_add_tail(&waiter.list, &lock->wait_list); in __mutex_lock_common()
263 if (likely(list_empty(&lock->wait_list))) in __mutex_lock_common()
324 if (!list_empty(&lock->wait_list)) { in __mutex_unlock_common_slowpath()
327 list_entry(lock->wait_list.next, in __mutex_unlock_common_slowpath()
442 if (likely(list_empty(&lock->wait_list))) in __mutex_trylock_slowpath()
Dmutex-debug.c40 DEBUG_LOCKS_WARN_ON(list_empty(&lock->wait_list)); in debug_mutex_wake_waiter()
79 DEBUG_LOCKS_WARN_ON(!lock->wait_list.prev && !lock->wait_list.next); in debug_mutex_unlock()
Drtmutex_common.h64 return !plist_head_empty(&lock->wait_list); in rt_mutex_has_waiters()
72 w = plist_first_entry(&lock->wait_list, struct rt_mutex_waiter, in rt_mutex_top_waiter()
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()
Drtmutex.c243 plist_del(&waiter->list_entry, &lock->wait_list); in rt_mutex_adjust_prio_chain()
245 plist_add(&waiter->list_entry, &lock->wait_list); in rt_mutex_adjust_prio_chain()
358 plist_del(&waiter->list_entry, &lock->wait_list); in try_to_take_rt_mutex()
411 plist_add(&waiter->list_entry, &lock->wait_list); in task_blocks_on_rt_mutex()
499 plist_del(&waiter->list_entry, &lock->wait_list); in remove_waiter()
893 plist_head_init_raw(&lock->wait_list, &lock->wait_lock); in __rt_mutex_init()
/linux-2.6.39/drivers/infiniband/core/
Dmad_priv.h103 struct list_head wait_list; member
Dmad.c313 INIT_LIST_HEAD(&mad_agent_priv->wait_list); in ib_register_mad_agent()
1745 list_for_each_entry(wr, &mad_agent_priv->wait_list, agent_list) { in ib_find_send_mad()
1972 if (list_empty(&mad_agent_priv->wait_list)) { in adjust_timeout()
1975 mad_send_wr = list_entry(mad_agent_priv->wait_list.next, in adjust_timeout()
2007 list_for_each_prev(list_item, &mad_agent_priv->wait_list) { in wait_for_response()
2017 list_item = &mad_agent_priv->wait_list; in wait_for_response()
2021 if (mad_agent_priv->wait_list.next == &mad_send_wr->agent_list) { in wait_for_response()
2269 list_splice_init(&mad_agent_priv->wait_list, &cancel_list); in cancel_mads()
2292 list_for_each_entry(mad_send_wr, &mad_agent_priv->wait_list, in find_send_wr()
2476 while (!list_empty(&mad_agent_priv->wait_list)) { in timeout_sends()
[all …]
/linux-2.6.39/net/tipc/
Dport.h141 struct list_head wait_list; member
Dport.c222 INIT_LIST_HEAD(&p_ptr->wait_list); in tipc_createport_raw()
258 list_del(&p_ptr->wait_list); in tipc_deleteport()
Dlink.c428 if (!list_empty(&p_ptr->wait_list)) in link_schedule_port()
432 list_add_tail(&p_ptr->wait_list, &l_ptr->waiting_ports); in link_schedule_port()
456 wait_list) { in tipc_link_wakeup_ports()
459 list_del_init(&p_ptr->wait_list); in tipc_link_wakeup_ports()
/linux-2.6.39/fs/xfs/linux-2.6/
Dxfs_buf.c1786 LIST_HEAD(wait_list); in xfs_flush_buftarg()
1810 list_add(&bp->b_list, &wait_list); in xfs_flush_buftarg()
1818 while (!list_empty(&wait_list)) { in xfs_flush_buftarg()
1819 bp = list_first_entry(&wait_list, struct xfs_buf, b_list); in xfs_flush_buftarg()
/linux-2.6.39/Documentation/
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-2.6.39/drivers/acpi/
Dosl.c949 BUG_ON(!list_empty(&sem->wait_list)); in acpi_os_delete_semaphore()