Lines Matching refs:waiter
8 * 2) Write waiter has priority
76 struct ldsem_waiter *waiter, *next;
94 list_for_each_entry_safe(waiter, next, &sem->read_wait, list) {
95 tsk = waiter->task;
96 smp_store_release(&waiter->task, NULL);
121 struct ldsem_waiter *waiter;
123 waiter = list_entry(sem->write_wait.next, struct ldsem_waiter, list);
124 wake_up_process(waiter->task);
158 struct ldsem_waiter waiter;
180 list_add_tail(&waiter.list, &sem->read_wait);
183 waiter.task = current;
196 if (!smp_load_acquire(&waiter.task))
212 if (waiter.task) {
215 list_del(&waiter.list);
217 put_task_struct(waiter.task);
232 struct ldsem_waiter waiter;
253 list_add_tail(&waiter.list, &sem->write_wait);
255 waiter.task = current;
272 list_del(&waiter.list);