Lines Matching refs:completion
1 completions - wait for completion handling
24 struct completion that tells the waiting threads of execution if they
28 kernel/sched/completion.c.
35 struct completion, the waiting part through a call to one of the variants of
40 To use completions one needs to include <linux/completion.h> and
41 create a variable of type struct completion. The structure used for
44 struct completion {
75 wait queue. Calling init_completion() twice on the same completion object is
89 happy. Note also that one needs to make *sure* the completion passed to
95 additional synchronization to prevent the on-stack completion object in
105 calls wait_for_completion() on the initialized completion structure.
108 struct completion setup_done;
120 completion is signaled by complete().
129 void wait_for_completion(struct completion *done):
135 try_wait_for_completion() below for handling completion in atomic/interrupt
155 code path for successful completion and for the interrupted case - which is
158 int wait_for_completion_interruptible(struct completion *done)
163 unsigned long wait_for_completion_timeout(struct completion *done,
174 struct completion *done, unsigned long timeout)
178 otherwise it returns 0 if the completion timed out or the remaining time in
179 jiffies if completion occurred.
183 else 0 if completion was achieved. There is a _timeout variant as well:
185 long wait_for_completion_killable(struct completion *done)
186 long wait_for_completion_killable_timeout(struct completion *done,
193 void wait_for_completion_io(struct completion *done)
194 unsigned long wait_for_completion_io_timeout(struct completion *done
205 void complete(struct completion *done)
209 void complete_all(struct completion *done)
213 (decrementing) the done element of struct completion. Waiting threads
222 particular struct completion at any time - serialized through the wait
226 Signaling completion from hard-irq context is fine as it will appropriately
235 else it consumes one posted completion and returns true.
237 bool try_wait_for_completion(struct completion *done)
239 Finally, to check the state of a completion without changing it in any way,
244 bool completion_done(struct completion *done)