| /Linux-v6.1/include/linux/ |
| D | completion.h | 26 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/ |
| D | completion.rst | 3 :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/ |
| D | completion.c | 28 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/ |
| D | completion.rst | 2 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/ |
| D | iosm_ipc_task_queue.c | 28 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/ |
| D | locks.h | 176 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/ |
| D | aic94xx_tmf.c | 67 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/ |
| D | pmi.c | 34 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/ |
| D | rtsx.h | 96 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/ |
| D | timeriomem-rng.c | 39 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/ |
| D | URB.rst | 36 - 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/ |
| D | ecdh_helper.c | 29 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/ |
| D | qcom_glink_ssr.c | 55 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/ |
| D | sclp_ftp.c | 39 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()
|
| D | sclp_pci.c | 105 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/ |
| D | disk-states-8.dot | 11 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/ |
| D | vchiq_arm.h | 38 struct completion insert_event; 39 struct completion remove_event; 40 struct completion close_event; 55 struct completion insert_event; 56 struct completion remove_event;
|
| D | vchiq_core.h | 215 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/ |
| D | oracle-dax.rst | 41 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/ |
| D | bnad.h | 119 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/ |
| D | core.h | 593 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/ |
| D | pm8001_sas.c | 167 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/ |
| D | intel_mrfld_adc.c | 57 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/ |
| D | bfad_drv.h | 144 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/ |
| D | iscsi_target_core.h | 549 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 …]
|