Lines Matching refs:completion

10 #include <linux/completion.h>
22 #include "completion.h"
64 struct completion *started;
89 * Dequeue and return the next waiting completion, if any.
92 * condition where a high-priority completion can be enqueued followed by a lower-priority one, and
111 struct vdo_completion *completion)
113 VDO_ASSERT_LOG_ONLY(completion->my_queue == NULL,
114 "completion %px (fn %px) to enqueue (%px) is not already queued (%px)",
115 completion, completion->callback, queue, completion->my_queue);
116 if (completion->priority == VDO_WORK_Q_DEFAULT_PRIORITY)
117 completion->priority = queue->common.type->default_priority;
119 if (VDO_ASSERT(completion->priority <= queue->common.type->max_priority,
121 completion->priority = 0;
123 completion->my_queue = &queue->common;
126 vdo_funnel_queue_put(queue->priority_lists[completion->priority],
127 &completion->work_queue_entry_link);
166 * Wait for the next completion to process, or until kthread_should_stop indicates that it's time
170 * completion.
176 struct vdo_completion *completion;
193 completion = poll_for_completion(queue);
194 if (completion != NULL)
211 completion = poll_for_completion(queue);
212 if (completion != NULL)
219 return completion;
223 struct vdo_completion *completion)
225 if (VDO_ASSERT(completion->my_queue == &queue->common,
226 "completion %px from queue %px marked as being in this queue (%px)",
227 completion, queue, completion->my_queue) == VDO_SUCCESS)
228 completion->my_queue = NULL;
230 vdo_run_completion(completion);
238 struct vdo_completion *completion = poll_for_completion(queue);
240 if (completion == NULL)
241 completion = wait_for_next_completion(queue);
243 if (completion == NULL) {
248 process_completion(queue, completion);
495 * Write to the buffer some info about the completion, for logging. Since the common use case is
538 void vdo_dump_completion_to_buffer(struct vdo_completion *completion, char *buffer,
543 (completion->my_queue == NULL ? "-" : completion->my_queue->name));
546 get_function_name((void *) completion->callback, buffer + current_length,
553 * If the completion has a timeout that has already passed, the timeout handler function may be
557 struct vdo_completion *completion)
583 enqueue_work_queue_completion(simple_queue, completion);
597 * been processing a completion, in which case starting to process another would violate