Home
last modified time | relevance | path

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

12345678910>>...59

/Linux-v6.1/include/linux/
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-v6.1/Documentation/translations/zh_CN/scheduler/
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-v6.1/kernel/sched/
Dcompletion.c28 void complete(struct completion *x) in complete()
57 void complete_all(struct completion *x) in complete_all()
71 do_wait_for_common(struct completion *x, in do_wait_for_common()
98 __wait_for_common(struct completion *x, in __wait_for_common()
115 wait_for_common(struct completion *x, long timeout, int state) in wait_for_common()
121 wait_for_common_io(struct completion *x, long timeout, int state) in wait_for_common_io()
136 void __sched wait_for_completion(struct completion *x) in wait_for_completion()
155 wait_for_completion_timeout(struct completion *x, unsigned long timeout) in wait_for_completion_timeout()
169 void __sched wait_for_completion_io(struct completion *x) in wait_for_completion_io()
189 wait_for_completion_io_timeout(struct completion *x, unsigned long timeout) in wait_for_completion_io_timeout()
[all …]
/Linux-v6.1/Documentation/scheduler/
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-v6.1/drivers/net/wwan/iosm/
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-v6.1/tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/
Dlocks.h176 struct completion { struct
182 #define DECLARE_COMPLETION(x) struct completion x = COMPLETION_INITIALIZER(x) argument
185 static inline void init_completion(struct completion *c) in init_completion()
190 static inline void wait_for_completion(struct completion *c) in wait_for_completion()
197 static inline void complete(struct completion *c) in complete()
205 static inline bool try_wait_for_completion(struct completion *c) in try_wait_for_completion()
210 static inline bool completion_done(struct completion *c) in completion_done()
216 static inline void complete_all(struct completion *c) in complete_all()
/Linux-v6.1/drivers/scsi/aic94xx/
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-v6.1/arch/powerpc/sysdev/
Dpmi.c34 struct completion *completion; member
53 if (type & PMI_ACK && !data->completion) { in pmi_irq_handler()
59 if (data->completion && !(type & PMI_ACK)) { in pmi_irq_handler()
79 complete(data->completion); in pmi_irq_handler()
209 DECLARE_COMPLETION_ONSTACK(completion); in pmi_send_message()
219 data->completion = &completion; in pmi_send_message()
230 wait_for_completion_interruptible_timeout(data->completion, in pmi_send_message()
233 data->completion = NULL; in pmi_send_message()
/Linux-v6.1/drivers/staging/rts5208/
Drtsx.h96 struct completion cmnd_ready; /* to sleep thread on */
97 struct completion control_exit; /* control thread exit */
98 struct completion polling_exit; /* polling thread exit */
99 struct completion notify; /* thread begin/end */
100 struct completion scanning_done; /* wait for scan thread */
112 struct completion *done;
/Linux-v6.1/drivers/char/hw_random/
Dtimeriomem-rng.c39 struct completion completion; member
61 wait_for_completion(&priv->completion); in timeriomem_rng_read()
85 reinit_completion(&priv->completion); in timeriomem_rng_read()
98 complete(&priv->completion); in timeriomem_rng_trigger()
156 init_completion(&priv->completion); in timeriomem_rng_probe()
170 complete(&priv->completion); in timeriomem_rng_probe()
/Linux-v6.1/Documentation/driver-api/usb/
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-v6.1/net/bluetooth/
Decdh_helper.c29 struct completion completion; member
41 complete(&res->completion); in ecdh_complete()
79 init_completion(&result.completion); in compute_ecdh_secret()
92 wait_for_completion(&result.completion); in compute_ecdh_secret()
184 init_completion(&result.completion); in generate_ecdh_public_key()
193 wait_for_completion(&result.completion); in generate_ecdh_public_key()
/Linux-v6.1/drivers/rpmsg/
Dqcom_glink_ssr.c55 struct completion completion; member
93 complete(&ssr->completion); in qcom_glink_ssr_callback()
108 reinit_completion(&ssr->completion); in qcom_glink_ssr_notifier_call()
120 ret = wait_for_completion_timeout(&ssr->completion, HZ); in qcom_glink_ssr_notifier_call()
135 init_completion(&ssr->completion); in qcom_glink_ssr_probe()
/Linux-v6.1/drivers/s390/char/
Dsclp_ftp.c39 struct completion *completion = data; in sclp_ftp_txcb() local
45 complete(completion); in sclp_ftp_txcb()
90 struct completion completion; in sclp_ftp_et7() local
131 req->callback_data = &completion; in sclp_ftp_et7()
133 init_completion(&completion); in sclp_ftp_et7()
140 wait_for_completion(&completion); in sclp_ftp_et7()
Dsclp_pci.c105 struct completion *completion = data; in sclp_pci_callback() local
107 complete(completion); in sclp_pci_callback()
132 DECLARE_COMPLETION_ONSTACK(completion); in sclp_pci_report()
158 req.callback_data = &completion; in sclp_pci_report()
179 wait_for_completion(&completion); in sclp_pci_report()
/Linux-v6.1/Documentation/admin-guide/blockdev/drbd/
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-v6.1/drivers/staging/vc04_services/interface/vchiq_arm/
Dvchiq_arm.h38 struct completion insert_event;
39 struct completion remove_event;
40 struct completion close_event;
55 struct completion insert_event;
56 struct completion remove_event;
Dvchiq_core.h215 struct completion remove_event;
216 struct completion bulk_remove_event;
237 struct completion msg_queue_pop;
238 struct completion msg_queue_push;
252 struct completion quota_event;
331 struct completion connect;
406 struct completion slot_available_event;
408 struct completion slot_remove_event;
411 struct completion data_quota_event;
430 struct completion event;
/Linux-v6.1/Documentation/sparc/oradax/
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-v6.1/drivers/net/ethernet/brocade/bna/
Dbnad.h119 struct completion comp;
124 struct completion ioc_comp;
125 struct completion ucast_comp;
126 struct completion mcast_comp;
127 struct completion tx_comp;
128 struct completion rx_comp;
129 struct completion stats_comp;
130 struct completion enet_comp;
131 struct completion mtu_comp;
/Linux-v6.1/drivers/net/wireless/ath/ath11k/
Dcore.h593 struct completion started;
594 struct completion completed;
595 struct completion on_channel;
647 struct completion peer_assoc_done;
648 struct completion peer_delete_done;
651 struct completion install_key_done;
654 struct completion vdev_setup_done;
655 struct completion vdev_delete_done;
683 struct completion bss_survey_done;
691 struct completion target_suspend;
[all …]
/Linux-v6.1/drivers/scsi/pm8001/
Dpm8001_sas.c167 DECLARE_COMPLETION_ONSTACK(completion); in pm8001_phy_control()
171 pm8001_ha->phy[phy_id].enable_completion = &completion; in pm8001_phy_control()
185 wait_for_completion(&completion); in pm8001_phy_control()
193 wait_for_completion(&completion); in pm8001_phy_control()
201 wait_for_completion(&completion); in pm8001_phy_control()
271 DECLARE_COMPLETION_ONSTACK(completion); in pm8001_scan_start()
277 pm8001_ha->phy[i].enable_completion = &completion; in pm8001_scan_start()
279 wait_for_completion(&completion); in pm8001_scan_start()
632 DECLARE_COMPLETION_ONSTACK(completion); in pm8001_dev_found_notify()
645 pm8001_device->dcompletion = &completion; in pm8001_dev_found_notify()
[all …]
/Linux-v6.1/drivers/iio/adc/
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 timeout = wait_for_completion_interruptible_timeout(&adc->completion, in mrfld_adc_single_conv()
196 init_completion(&adc->completion); in mrfld_adc_probe()
/Linux-v6.1/drivers/scsi/bfa/
Dbfad_drv.h144 struct completion *comp_del;
193 struct completion comp;
194 struct completion suspend;
195 struct completion enable_comp;
196 struct completion disable_comp;
275 struct completion comp;
280 struct completion comp;
/Linux-v6.1/include/target/iscsi/
Discsi_target_core.h549 struct completion conn_post_wait_comp;
550 struct completion conn_wait_comp;
551 struct completion conn_wait_rcfr_comp;
552 struct completion conn_waiting_on_uc_comp;
553 struct completion conn_logout_comp;
554 struct completion tx_half_close_comp;
555 struct completion rx_half_close_comp;
606 struct completion rx_login_comp;
682 struct completion async_msg_comp;
683 struct completion reinstatement_comp;
[all …]

12345678910>>...59