Home
last modified time | relevance | path

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

12345678910>>...44

/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/Documentation/arch/sparc/oradax/
H A Doracle-dax.rst41 pointer to a "completion area", which is a 128 byte memory block that
43 interrupt is generated upon completion; the completion area must be
46 processor until the completion status has been updated by the
52 completion of a request and resumption of execution of the requesting
85 call, and gets results (if any) via read(). The completion areas are
96 requests. The completion area buffer is also allocated, and this is
97 large enough to contain the completion areas for many concurrent
116 requests. Since no interrupt is generated upon the completion of a
142 completion area to use, and may be set via lseek() or using the
157 The mmap() function provides access to the completion area allocated
[all …]
/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/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.c57 struct completion completion; member
67 complete(&adc->completion); in mrfld_adc_thread_isr()
82 reinit_completion(&adc->completion); in mrfld_adc_single_conv()
98 time_left = wait_for_completion_interruptible_timeout(&adc->completion, in mrfld_adc_single_conv()
196 init_completion(&adc->completion); in mrfld_adc_probe()
H A Dsun20i-gpadc-iio.c50 struct completion completion; member
71 reinit_completion(&info->completion); in sun20i_gpadc_adc_read()
97 if (!wait_for_completion_timeout(&info->completion, msecs_to_jiffies(10))) { in sun20i_gpadc_adc_read()
137 complete(&info->completion); in sun20i_gpadc_irq_handler()
195 init_completion(&info->completion); in sun20i_gpadc_probe()
/linux/rust/kernel/sync/
H A Dcompletion.rs69 inner: Opaque<bindings::completion>,
82 inner <- Opaque::ffi_init(|slot: *mut bindings::completion| { in new()
89 fn as_raw(&self) -> *mut bindings::completion { in as_raw() argument

12345678910>>...44