Home
last modified time | relevance | path

Searched refs:completion (Results 1 – 25 of 1050) sorted by relevance

12345678910>>...42

/linux/drivers/md/dm-vdo/
H A Dcompletion.h19 static inline void vdo_run_completion(struct vdo_completion *completion) in vdo_run_completion() argument
21 if ((completion->result != VDO_SUCCESS) && (completion->error_handler != NULL)) { in vdo_run_completion()
22 completion->error_handler(completion); in vdo_run_completion()
26 completion->callback(completion); in vdo_run_completion()
29 void vdo_set_completion_result(struct vdo_completion *completion, int result);
31 void vdo_initialize_completion(struct vdo_completion *completion, struct vdo *vdo,
38 static inline void vdo_reset_completion(struct vdo_completion *completion) in vdo_reset_completion() argument
40 completion->result = VDO_SUCCESS; in vdo_reset_completion()
41 completion->complete = false; in vdo_reset_completion()
44 void vdo_launch_completion_with_priority(struct vdo_completion *completion,
[all …]
H A Dcompletion.c51 void vdo_initialize_completion(struct vdo_completion *completion, in vdo_initialize_completion() argument
55 memset(completion, 0, sizeof(*completion)); in vdo_initialize_completion()
56 completion->vdo = vdo; in vdo_initialize_completion()
57 completion->type = type; in vdo_initialize_completion()
58 vdo_reset_completion(completion); in vdo_initialize_completion()
61 static inline void assert_incomplete(struct vdo_completion *completion) in assert_incomplete() argument
63 VDO_ASSERT_LOG_ONLY(!completion->complete, "completion is not complete"); in assert_incomplete()
73 void vdo_set_completion_result(struct vdo_completion *completion, int result) in vdo_set_completion_result() argument
75 assert_incomplete(completion); in vdo_set_completion_result()
76 if (completion->result == VDO_SUCCESS) in vdo_set_completion_result()
[all …]
H A Dvdo.c67 struct completion completion; member
519 vdo_initialize_completion(&vdo->admin.completion, vdo, VDO_ADMIN_COMPLETION); in initialize_vdo()
806 static void finish_reading_super_block(struct vdo_completion *completion) in finish_reading_super_block() argument
809 container_of(as_vio(completion), struct vdo_super_block, vio); in finish_reading_super_block()
811 vdo_continue_completion(vdo_forget(completion->parent), in finish_reading_super_block()
821 static void handle_super_block_read_error(struct vdo_completion *completion) in handle_super_block_read_error() argument
823 vio_record_metadata_io_error(as_vio(completion)); in handle_super_block_read_error()
824 finish_reading_super_block(completion); in handle_super_block_read_error()
830 struct vdo_completion *parent = vio->completion.parent; in read_super_block_endio()
843 vdo->super_block.vio.completion.parent = parent; in vdo_load_super_block()
[all …]
H A Dvio.h43 static inline struct vio *as_vio(struct vdo_completion *completion) in as_vio() argument
45 vdo_assert_completion_type(completion, VIO_COMPLETION); in as_vio()
46 return container_of(completion, struct vio, completion); in as_vio()
58 return vio->completion.vdo->thread_config.bio_threads[vio->bio_zone]; in get_vio_bio_zone_thread_id()
120 vdo_initialize_completion(&vio->completion, vdo, VIO_COMPLETION); in initialize_vio()
164 vdo_set_completion_result(&vio->completion, result); in continue_vio()
166 vdo_enqueue_completion(&vio->completion, VDO_WORK_Q_DEFAULT_PRIORITY); in continue_vio()
182 vdo_set_completion_callback(&vio->completion, callback, thread); in continue_vio_after_io()
/linux/include/linux/
H A Dcompletion.h26 struct completion { struct
32 static inline void complete_acquire(struct completion *x) {} in complete_acquire() argument
33 static inline void complete_release(struct completion *x) {} in complete_release()
53 struct completion work = COMPLETION_INITIALIZER(work)
69 struct completion work = COMPLETION_INITIALIZER_ONSTACK(work)
71 struct completion work = COMPLETION_INITIALIZER_ONSTACK_MAP(work, map)
84 static inline void init_completion(struct completion *x) in init_completion()
97 static inline void reinit_completion(struct completion *x) in reinit_completion()
102 extern void wait_for_completion(struct completion *);
103 extern void wait_for_completion_io(struct completion *);
[all …]
/linux/Documentation/translations/zh_CN/scheduler/
H A Dcompletion.rst3 :Original: Documentation/scheduler/completion.rst
26 调用和completion()来代替。
33 事件被简化为 ``struct completion`` 中的一个简单标志,被恰如其名地称为‘done’。
35 由于完成与调度有关,代码可以在kernel/sched/completion.c中找到。
43 - 'struct completion' 同步对象的初始化
51 要使用完成API,你需要#include <linux/completion.h>并创建一个静态或动态的
52 ``struct completion`` 类型的变量,它只有两个字段::
54 struct completion {
134 void wait_for_completion(struct completion *done)
140 struct completion setup_done;
[all …]
/linux/kernel/sched/
H A Dcompletion.c21 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()
50 void complete(struct completion *x) in complete()
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()
151 void __sched wait_for_completion(struct completion *x) in wait_for_completion()
170 wait_for_completion_timeout(struct completion *x, unsigned long timeout) in wait_for_completion_timeout()
[all …]
/linux/Documentation/scheduler/
H A Dcompletion.rst2 Completions - "wait for completion" barrier APIs
27 is reduced to a simple flag in 'struct completion', appropriately called "done".
30 kernel/sched/completion.c.
38 - the initialization of the 'struct completion' synchronization object
45 to have marked a completion as 'done' before another thread checks whether
48 To use completions you need to #include <linux/completion.h> and
49 create a static or dynamic variable of type 'struct completion',
52 struct completion {
58 the ->done completion flag for indicating whether it's completed or not.
67 Good, intuitive naming (as always) helps code readability. Naming a completion
[all …]
/linux/drivers/net/wwan/iosm/
H A Diosm_ipc_task_queue.c28 if (args->completion) in ipc_task_queue_handler()
29 complete(args->completion); in ipc_task_queue_handler()
42 args->completion = NULL; in ipc_task_queue_handler()
64 if (args->completion) in ipc_task_queue_cleanup()
65 complete(args->completion); in ipc_task_queue_cleanup()
85 struct completion completion; in ipc_task_queue_add_task() local
90 init_completion(&completion); in ipc_task_queue_add_task()
111 ipc_task->args[pos].completion = wait ? &completion : NULL; in ipc_task_queue_add_task()
130 wait_for_completion(&completion); in ipc_task_queue_add_task()
/linux/net/wireless/
H A Ddebugfs.c160 struct completion completion; in wiphy_locked_debugfs_read()
169 complete(&w->completion); in wiphy_locked_debugfs_read()
178 complete(&w->completion); in wiphy_locked_debugfs_read()
200 .completion = COMPLETION_INITIALIZER_ONSTACK(work.completion),
214 wait_for_completion(&work.completion); in wiphy_locked_debugfs_write_work()
240 struct completion completion; in wiphy_locked_debugfs_write()
249 complete(&w->completion); in wiphy_locked_debugfs_write()
127 struct completion completion; global() member
207 struct completion completion; global() member
[all...]
/linux/drivers/scsi/aic94xx/
H A Daic94xx_tmf.c67 complete(ascb->completion); in asd_clear_nexus_tasklet_complete()
78 complete(ascb->completion); in asd_clear_nexus_timedout()
85 DECLARE_COMPLETION_ONSTACK(completion); \
94 ascb->completion = &completion; \
106 wait_for_completion(&completion); \
252 complete(ascb->completion); in asd_tmf_timedout()
320 complete(ascb->completion); in asd_tmf_tasklet_complete()
329 DECLARE_COMPLETION_ONSTACK(completion); in asd_clear_nexus()
332 tascb->completion = &completion; in asd_clear_nexus()
339 leftover = wait_for_completion_timeout(&completion, in asd_clear_nexus()
[all …]
/linux/Documentation/driver-api/usb/
H A DURB.rst36 - Each URB has a completion handler, which is called after the action
38 context-pointer for passing information to the completion handler.
42 data to an endpoint while your driver handles completion of another.
60 // (IN) all urbs need completion routines
61 void *context; // context for completion routine
62 usb_complete_t complete; // pointer to completion routine
64 // (OUT) status after each completion
110 returned to you in a completion callback. It will automatically be
122 length, the completion handler, and its context. Take a look at the some
156 never look at that value except in your completion callback.
[all …]
/linux/drivers/s390/char/
H A Dsclp_cmd.c53 struct completion *completion = data; in sclp_sync_callback() local
55 complete(completion); in sclp_sync_callback()
65 struct completion completion; in sclp_sync_request_timeout() local
78 request->callback_data = &completion; in sclp_sync_request_timeout()
79 init_completion(&completion); in sclp_sync_request_timeout()
84 wait_for_completion(&completion); in sclp_sync_request_timeout()
H A Dsclp_ftp.c38 struct completion *completion = data; in sclp_ftp_txcb() local
44 complete(completion); in sclp_ftp_txcb()
89 struct completion completion; in sclp_ftp_et7() local
130 req->callback_data = &completion; in sclp_ftp_et7()
132 init_completion(&completion); in sclp_ftp_et7()
139 wait_for_completion(&completion); in sclp_ftp_et7()
H A Dsclp_cpi_sys.c73 struct completion *completion = data; in cpi_callback() local
75 complete(completion); in cpi_callback()
127 struct completion completion; in cpi_req() local
146 init_completion(&completion); in cpi_req()
147 req->callback_data = &completion; in cpi_req()
154 wait_for_completion(&completion); in cpi_req()
/linux/include/linux/raspberrypi/
H A Dvchiq_arm.h69 struct completion insert_event;
70 struct completion remove_event;
71 struct completion close_event;
86 struct completion insert_event;
87 struct completion remove_event;
H A Dvchiq_core.h217 struct completion remove_event;
218 struct completion bulk_remove_event;
239 struct completion msg_queue_pop;
240 struct completion msg_queue_push;
254 struct completion quota_event;
354 struct completion connect;
447 struct completion slot_available_event;
450 struct completion data_quota_event;
496 struct completion event;
/linux/Documentation/admin-guide/blockdev/drbd/
H A Ddisk-states-8.dot11 Consistent -> Failed [ label = "io completion error" ]
12 Outdated -> Failed [ label = "io completion error" ]
13 UpToDate -> Failed [ label = "io completion error" ]
14 Inconsistent -> Failed [ label = "io completion error" ]
/linux/drivers/scsi/pm8001/
H A Dpm8001_sas.c232 DECLARE_COMPLETION_ONSTACK(completion); in pm8001_phy_control()
259 pm8001_ha->phy[phy_id].enable_completion = &completion; in pm8001_phy_control()
261 wait_for_completion(&completion); in pm8001_phy_control()
268 pm8001_ha->phy[phy_id].enable_completion = &completion; in pm8001_phy_control()
270 wait_for_completion(&completion); in pm8001_phy_control()
277 pm8001_ha->phy[phy_id].enable_completion = &completion; in pm8001_phy_control()
279 wait_for_completion(&completion); in pm8001_phy_control()
349 DECLARE_COMPLETION_ONSTACK(completion); in pm8001_scan_start()
355 pm8001_ha->phy[i].enable_completion = &completion; in pm8001_scan_start()
357 wait_for_completion(&completion); in pm8001_scan_start()
[all …]
/linux/drivers/net/wireless/ath/ath12k/
H A Dcore.h597 struct completion tpc_complete;
627 struct completion started;
628 struct completion completed;
629 struct completion on_channel;
682 struct completion peer_assoc_done;
686 struct completion install_key_done;
689 struct completion vdev_setup_done;
690 struct completion vdev_delete_done;
717 struct completion bss_survey_done;
727 struct completion target_suspen
[all...]
H A Dahb.h76 struct completion rootpd_ready;
87 struct completion userpd_spawned;
88 struct completion userpd_ready;
89 struct completion userpd_stopped;
/linux/sound/soc/intel/avs/
H A Dcldma.c44 struct completion completion; member
57 .completion = COMPLETION_INITIALIZER(code_loader.completion),
100 ret = wait_for_completion_timeout(&cl->completion, in cldma_memcpy_work()
116 reinit_completion(&cl->completion); in cldma_memcpy_work()
129 reinit_completion(&cl->completion); in hda_cldma_transfer()
259 complete(&cl->completion); in hda_cldma_interrupt()
/linux/include/target/iscsi/
H A Discsi_target_core.h546 struct completion conn_post_wait_comp;
547 struct completion conn_wait_comp;
548 struct completion conn_wait_rcfr_comp;
549 struct completion conn_waiting_on_uc_comp;
550 struct completion conn_logout_comp;
551 struct completion tx_half_close_comp;
552 struct completion rx_half_close_comp;
604 struct completion rx_login_comp;
680 struct completion async_msg_comp;
681 struct completion reinstatement_comp;
[all …]
/linux/drivers/iio/adc/
H A Dintel_mrfld_adc.c56 struct completion completion; member
66 complete(&adc->completion); in mrfld_adc_thread_isr()
81 reinit_completion(&adc->completion); in mrfld_adc_single_conv()
97 time_left = wait_for_completion_interruptible_timeout(&adc->completion, in mrfld_adc_single_conv()
195 init_completion(&adc->completion); in mrfld_adc_probe()
/linux/rust/kernel/sync/
H A Dcompletion.rs5 //! Reference: <https://docs.kernel.org/scheduler/completion.html>
7 //! C header: [`include/linux/completion.h`](srctree/include/linux/completion.h)
69 inner: Opaque<bindings::completion>,
82 inner <- Opaque::ffi_init(|slot: *mut bindings::completion| { in new()
83 // SAFETY: `slot` is a valid pointer to an uninitialized `struct completion`. in new()
89 fn as_raw(&self) -> *mut bindings::completion { in as_raw() argument
93 /// Signal all tasks waiting on this completion.
95 /// This method wakes up all tasks waiting on this completion; after this operation the
96 /// completion i
[all...]

12345678910>>...42