Lines Matching full:dormant
22 * If the wait time becomes long enough, the queue will become dormant and must be explicitly
24 * queue via xchg (which is a memory barrier), and later checks "dormant" to decide whether to do a
27 * When deciding to go to sleep, the worker thread sets "dormant" and then examines "newest" to
28 * decide if the funnel queue is idle. In dormant mode, the last examination of "newest" before
32 * kick the worker thread out of dormant mode and back into timer-based mode.
65 atomic_t dormant; member
115 static void wait_for_request(struct uds_request_queue *queue, bool dormant, in wait_for_request() argument
119 if (dormant) { in wait_for_request()
136 bool dormant = atomic_read(&queue->dormant); in request_queue_worker() local
141 wait_for_request(queue, dormant, time_batch, &request, &waited); in request_queue_worker()
149 if (dormant) { in request_queue_worker()
154 atomic_set(&queue->dormant, false); in request_queue_worker()
155 dormant = false; in request_queue_worker()
169 atomic_set(&queue->dormant, true); in request_queue_worker()
170 dormant = true; in request_queue_worker()
207 atomic_set(&queue->dormant, false); in uds_make_request_queue()
250 * We must wake the worker thread when it is dormant. A read fence isn't needed here since in uds_request_queue_enqueue()
253 if (atomic_read(&queue->dormant) || unbatched) in uds_request_queue_enqueue()