Lines Matching full:completion
4 * Generic wait-for-completion handler;
13 * Waiting for completion is a typically sync point, but not an exclusion point.
18 #include <linux/completion.h>
21 static void complete_with_flags(struct completion *x, int wake_flags) in complete_with_flags()
33 void complete_on_current_cpu(struct completion *x) in complete_on_current_cpu()
39 * complete: - signals a single thread waiting on this completion
40 * @x: holds the state of this particular completion
42 * This will wake up a single thread waiting on this completion. Threads will be
50 void complete(struct completion *x) in complete()
57 * complete_all: - signals all threads waiting on this completion
58 * @x: holds the state of this particular completion
60 * This will wake up all threads waiting on this particular completion event.
65 * Since complete_all() sets the completion of @x permanently to done
72 void complete_all(struct completion *x) in complete_all()
86 do_wait_for_common(struct completion *x, in do_wait_for_common()
113 __wait_for_common(struct completion *x, in __wait_for_common()
130 wait_for_common(struct completion *x, long timeout, int state) in wait_for_common()
136 wait_for_common_io(struct completion *x, long timeout, int state) in wait_for_common_io()
142 * wait_for_completion: - waits for completion of a task
143 * @x: holds the state of this particular completion
145 * This waits to be signaled for completion of a specific task. It is NOT
151 void __sched wait_for_completion(struct completion *x) in wait_for_completion()
158 * wait_for_completion_timeout: - waits for completion of a task (w/timeout)
159 * @x: holds the state of this particular completion
162 * This waits for either a completion of a specific task to be signaled or for a
170 wait_for_completion_timeout(struct completion *x, unsigned long timeout) in wait_for_completion_timeout()
177 * wait_for_completion_io: - waits for completion of a task
178 * @x: holds the state of this particular completion
180 * This waits to be signaled for completion of a specific task. It is NOT
184 void __sched wait_for_completion_io(struct completion *x) in wait_for_completion_io()
191 * wait_for_completion_io_timeout: - waits for completion of a task (w/timeout)
192 * @x: holds the state of this particular completion
195 * This waits for either a completion of a specific task to be signaled or for a
204 wait_for_completion_io_timeout(struct completion *x, unsigned long timeout) in wait_for_completion_io_timeout()
211 * wait_for_completion_interruptible: - waits for completion of a task (w/intr)
212 * @x: holds the state of this particular completion
214 * This waits for completion of a specific task to be signaled. It is
219 int __sched wait_for_completion_interruptible(struct completion *x) in wait_for_completion_interruptible()
230 * wait_for_completion_interruptible_timeout: - waits for completion (w/(to,intr))
231 * @x: holds the state of this particular completion
234 * This waits for either a completion of a specific task to be signaled or for a
241 wait_for_completion_interruptible_timeout(struct completion *x, in wait_for_completion_interruptible_timeout()
249 * wait_for_completion_killable: - waits for completion of a task (killable)
250 * @x: holds the state of this particular completion
252 * This waits to be signaled for completion of a specific task. It can be
257 int __sched wait_for_completion_killable(struct completion *x) in wait_for_completion_killable()
267 int __sched wait_for_completion_state(struct completion *x, unsigned int state) in wait_for_completion_state()
278 * wait_for_completion_killable_timeout: - waits for completion of a task (w/(to,killable))
279 * @x: holds the state of this particular completion
282 * This waits for either a completion of a specific task to be
290 wait_for_completion_killable_timeout(struct completion *x, in wait_for_completion_killable_timeout()
298 * try_wait_for_completion - try to decrement a completion without blocking
299 * @x: completion structure
304 * If a completion is being used as a counting completion,
306 * enables us to avoid waiting if the resource the completion
309 bool try_wait_for_completion(struct completion *x) in try_wait_for_completion()
334 * completion_done - Test to see if a completion has any waiters
335 * @x: completion structure
342 bool completion_done(struct completion *x) in completion_done()
351 * otherwise we can end up freeing the completion before complete() in completion_done()