Searched refs:waiter (Results 1 – 3 of 3) sorted by relevance
/lib/ |
D | rwsem-spinlock.c | 67 struct rwsem_waiter *waiter; in __rwsem_do_wake() local 71 waiter = list_entry(sem->wait_list.next, struct rwsem_waiter, list); in __rwsem_do_wake() 73 if (waiter->type == RWSEM_WAITING_FOR_WRITE) { in __rwsem_do_wake() 77 wake_up_process(waiter->task); in __rwsem_do_wake() 84 struct list_head *next = waiter->list.next; in __rwsem_do_wake() 86 list_del(&waiter->list); in __rwsem_do_wake() 87 tsk = waiter->task; in __rwsem_do_wake() 89 waiter->task = NULL; in __rwsem_do_wake() 95 waiter = list_entry(next, struct rwsem_waiter, list); in __rwsem_do_wake() 96 } while (waiter->type != RWSEM_WAITING_FOR_WRITE); in __rwsem_do_wake() [all …]
|
D | rwsem.c | 64 struct rwsem_waiter *waiter; in __rwsem_do_wake() local 69 waiter = list_entry(sem->wait_list.next, struct rwsem_waiter, list); in __rwsem_do_wake() 70 if (waiter->type == RWSEM_WAITING_FOR_WRITE) { in __rwsem_do_wake() 77 wake_up_process(waiter->task); in __rwsem_do_wake() 108 if (waiter->list.next == &sem->wait_list) in __rwsem_do_wake() 111 waiter = list_entry(waiter->list.next, in __rwsem_do_wake() 114 } while (waiter->type != RWSEM_WAITING_FOR_WRITE); in __rwsem_do_wake() 117 if (waiter->type != RWSEM_WAITING_FOR_WRITE) in __rwsem_do_wake() 127 waiter = list_entry(next, struct rwsem_waiter, list); in __rwsem_do_wake() 128 next = waiter->list.next; in __rwsem_do_wake() [all …]
|
D | klist.c | 186 struct klist_waiter *waiter, *tmp; in klist_release() local 192 list_for_each_entry_safe(waiter, tmp, &klist_remove_waiters, list) { in klist_release() 193 if (waiter->node != n) in klist_release() 196 list_del(&waiter->list); in klist_release() 197 waiter->woken = 1; in klist_release() 199 wake_up_process(waiter->process); in klist_release() 241 struct klist_waiter waiter; in klist_remove() local 243 waiter.node = n; in klist_remove() 244 waiter.process = current; in klist_remove() 245 waiter.woken = 0; in klist_remove() [all …]
|