Lines Matching refs:waiter
2287 To wake up a particular waiter, the up_read() or up_write() functions have to:
2289 (1) read the next pointer from this waiter's record to know as to where the
2290 next waiter record is;
2292 (2) read the pointer to the waiter's task structure;
2294 (3) clear the task pointer to tell the waiter it has been given the semaphore;
2298 (5) release the reference held on the waiter's task struct.
2302 LOAD waiter->list.next;
2303 LOAD waiter->task;
2304 STORE waiter->task;
2311 Once it has queued itself and dropped the semaphore lock, the waiter does not
2313 before proceeding. Since the record is on the waiter's stack, this means that
2315 another CPU might start processing the waiter and might clobber the waiter's
2323 Queue waiter
2326 LOAD waiter->task;
2327 STORE waiter->task;
2333 foo() clobbers *waiter
2335 LOAD waiter->list.next;
2343 LOAD waiter->list.next;
2344 LOAD waiter->task;
2346 STORE waiter->task;