Lines Matching refs:waiter
2242 To wake up a particular waiter, the up_read() or up_write() functions have to:
2244 (1) read the next pointer from this waiter's record to know as to where the
2245 next waiter record is;
2247 (2) read the pointer to the waiter's task structure;
2249 (3) clear the task pointer to tell the waiter it has been given the semaphore;
2253 (5) release the reference held on the waiter's task struct.
2257 LOAD waiter->list.next;
2258 LOAD waiter->task;
2259 STORE waiter->task;
2266 Once it has queued itself and dropped the semaphore lock, the waiter does not
2268 before proceeding. Since the record is on the waiter's stack, this means that
2270 another CPU might start processing the waiter and might clobber the waiter's
2278 Queue waiter
2281 LOAD waiter->task;
2282 STORE waiter->task;
2288 foo() clobbers *waiter
2290 LOAD waiter->list.next;
2298 LOAD waiter->list.next;
2299 LOAD waiter->task;
2301 STORE waiter->task;