| /kernel/linux/linux-4.19/include/linux/ |
| D | completion.h | 8 * Atomic wait-for-completion handler data structures. 9 * See kernel/sched/completion.c for details. 15 * struct completion - structure used to maintain state for a "completion" 17 * This is the opaque structure used to maintain the state for a "completion". 19 * the "completion" event. 26 struct completion { struct 33 static inline void complete_acquire(struct completion *x) {} in complete_acquire() argument 34 static inline void complete_release(struct completion *x) {} in complete_release() 46 * DECLARE_COMPLETION - declare and initialize a completion structure 47 * @work: identifier for the completion structure [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | completion.h | 8 * Atomic wait-for-completion handler data structures. 9 * See kernel/sched/completion.c for details. 15 * struct completion - structure used to maintain state for a "completion" 17 * This is the opaque structure used to maintain the state for a "completion". 19 * the "completion" event. 26 struct completion { struct 33 static inline void complete_acquire(struct completion *x) {} in complete_acquire() argument 34 static inline void complete_release(struct completion *x) {} in complete_release() 46 * DECLARE_COMPLETION - declare and initialize a completion structure 47 * @work: identifier for the completion structure [all …]
|
| /kernel/linux/linux-5.10/kernel/sched/ |
| D | completion.c | 3 * Generic wait-for-completion handler; 12 * Waiting for completion is a typically sync point, but not an exclusion point. 17 * complete: - signals a single thread waiting on this completion 18 * @x: holds the state of this particular completion 20 * This will wake up a single thread waiting on this completion. Threads will be 28 void complete(struct completion *x) in complete() 42 * complete_all: - signals all threads waiting on this completion 43 * @x: holds the state of this particular completion 45 * This will wake up all threads waiting on this particular completion event. 50 * Since complete_all() sets the completion of @x permanently to done [all …]
|
| /kernel/linux/linux-4.19/kernel/sched/ |
| D | completion.c | 3 * Generic wait-for-completion handler; 12 * Waiting for completion is a typically sync point, but not an exclusion point. 17 * complete: - signals a single thread waiting on this completion 18 * @x: holds the state of this particular completion 20 * This will wake up a single thread waiting on this completion. Threads will be 28 void complete(struct completion *x) in complete() 42 * complete_all: - signals all threads waiting on this completion 43 * @x: holds the state of this particular completion 45 * This will wake up all threads waiting on this particular completion event. 50 * Since complete_all() sets the completion of @x permanently to done [all …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.19/Documentation/scheduler/ |
| D | completion.txt | 1 completions - wait for completion handling 24 struct completion that tells the waiting threads of execution if they 28 kernel/sched/completion.c. 35 struct completion, the waiting part through a call to one of the variants of 40 To use completions one needs to include <linux/completion.h> and 41 create a variable of type struct completion. The structure used for 44 struct completion { 75 wait queue. Calling init_completion() twice on the same completion object is 89 happy. Note also that one needs to make *sure* the completion passed to 95 additional synchronization to prevent the on-stack completion object in [all …]
|
| /kernel/linux/linux-5.10/tools/perf/pmu-events/arch/powerpc/power8/ |
| D | pipeline.json | 23 "BriefDescription": "Completion stall", 29 "BriefDescription": "Completion stall due to a Branch Unit", 35 "BriefDescription": "Completion stall by Dcache miss", 41 …"BriefDescription": "Completion stall by Dcache miss which resolved on chip ( excluding local L2/L… 47 "BriefDescription": "Completion stall by Dcache miss which resolved in L2/L3", 53 …"BriefDescription": "Completion stall due to cache miss that resolves in the L2 or L3 with a confl… 54 …"PublicDescription": "Completion stall due to cache miss resolving in core's L2/L3 with a conflict" 59 "BriefDescription": "Completion stall due to cache miss resolving missed the L3", 65 "BriefDescription": "Completion stall due to cache miss that resolves in local memory", 66 "PublicDescription": "Completion stall due to cache miss resolving in core's Local Memory" [all …]
|
| /kernel/linux/linux-4.19/tools/perf/pmu-events/arch/powerpc/power8/ |
| D | pipeline.json | 23 "BriefDescription": "Completion stall", 29 "BriefDescription": "Completion stall due to a Branch Unit", 35 "BriefDescription": "Completion stall by Dcache miss", 41 …"BriefDescription": "Completion stall by Dcache miss which resolved on chip ( excluding local L2/L… 47 "BriefDescription": "Completion stall by Dcache miss which resolved in L2/L3", 53 …"BriefDescription": "Completion stall due to cache miss that resolves in the L2 or L3 with a confl… 54 …"PublicDescription": "Completion stall due to cache miss resolving in core's L2/L3 with a conflict" 59 "BriefDescription": "Completion stall due to cache miss resolving missed the L3", 65 "BriefDescription": "Completion stall due to cache miss that resolves in local memory", 66 "PublicDescription": "Completion stall due to cache miss resolving in core's Local Memory" [all …]
|
| /kernel/linux/linux-4.19/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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.19/Documentation/sparc/oradax/ |
| D | oracle-dax.txt | 39 pointer to a "completion area", which is a 128 byte memory block that 41 interrupt is generated upon completion; the completion area must be 44 processor until the completion status has been updated by the 50 completion of a request and resumption of execution of the requesting 83 call, and gets results (if any) via read(). The completion areas are 94 requests. The completion area buffer is also allocated, and this is 95 large enough to contain the completion areas for many concurrent 113 requests. Since no interrupt is generated upon the completion of a 136 completion area to use, and may be set via lseek() or using the 150 The mmap() function provides access to the completion area allocated [all …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.19/drivers/scsi/isci/ |
| D | scu_completion_codes.h | 60 * This file contains the constants and macros for the SCU hardware completion 72 * This macro constructs an SCU completion type 80 * These macros contain the SCU completion types SCU_COMPLETION_TYPE 92 * an SCU completion code. 107 * This macro returns the SCU completion type. 115 * This macro returns the SCU completion status. 123 * This macro returns the transport layer completion status. 131 * This macro takes a completion code and performs the shift and mask 132 * operations to turn it into a completion code that can be compared to a 153 * This macro returns the SDMA completion status. [all …]
|
| /kernel/linux/linux-5.10/drivers/scsi/isci/ |
| D | scu_completion_codes.h | 60 * This file contains the constants and macros for the SCU hardware completion 72 * This macro constructs an SCU completion type 80 * These macros contain the SCU completion types SCU_COMPLETION_TYPE 92 * an SCU completion code. 107 * This macro returns the SCU completion type. 115 * This macro returns the SCU completion status. 123 * This macro returns the transport layer completion status. 131 * This macro takes a completion code and performs the shift and mask 132 * operations to turn it into a completion code that can be compared to a 153 * This macro returns the SDMA completion status. [all …]
|
| /kernel/linux/linux-5.10/fs/nilfs2/ |
| D | sysfs.h | 21 * @sg_superblock_kobj_unregister: completion state 23 * @sg_segctor_kobj_unregister: completion state 25 * @sg_mounted_snapshots_kobj_unregister: completion state 27 * @sg_checkpoints_kobj_unregister: completion state 29 * @sg_segments_kobj_unregister: completion state 34 struct completion sg_superblock_kobj_unregister; 38 struct completion sg_segctor_kobj_unregister; 42 struct completion sg_mounted_snapshots_kobj_unregister; 46 struct completion sg_checkpoints_kobj_unregister; 50 struct completion sg_segments_kobj_unregister;
|
| /kernel/linux/linux-4.19/fs/nilfs2/ |
| D | sysfs.h | 21 * @sg_superblock_kobj_unregister: completion state 23 * @sg_segctor_kobj_unregister: completion state 25 * @sg_mounted_snapshots_kobj_unregister: completion state 27 * @sg_checkpoints_kobj_unregister: completion state 29 * @sg_segments_kobj_unregister: completion state 34 struct completion sg_superblock_kobj_unregister; 38 struct completion sg_segctor_kobj_unregister; 42 struct completion sg_mounted_snapshots_kobj_unregister; 46 struct completion sg_checkpoints_kobj_unregister; 50 struct completion sg_segments_kobj_unregister;
|
| /kernel/linux/linux-5.10/arch/powerpc/sysdev/ |
| D | pmi.c | 16 #include <linux/completion.h> 33 struct completion *completion; member 52 if (type & PMI_ACK && !data->completion) { in pmi_irq_handler() 58 if (data->completion && !(type & PMI_ACK)) { in pmi_irq_handler() 78 complete(data->completion); in pmi_irq_handler() 208 DECLARE_COMPLETION_ONSTACK(completion); in pmi_send_message() 218 data->completion = &completion; in pmi_send_message() 227 pr_debug("pmi_send_message: wait for completion\n"); in pmi_send_message() 229 wait_for_completion_interruptible_timeout(data->completion, in pmi_send_message() 232 data->completion = NULL; in pmi_send_message()
|
| /kernel/linux/linux-4.19/drivers/net/wireless/intel/iwlwifi/ |
| D | iwl-context-info-gen3.h | 91 * @IWL_PRPH_SCRATCH_MTR_MODE: format used for completion - 0: for 92 * completion descriptor, 1 for responses (legacy) 215 * @cr_head_idx_arr_base_addr: the completion ring head index array 219 * @cr_tail_idx_arr_base_addr: the completion ring tail index array 223 * @cr_idx_arr_size: number of entries in the completion ring index array 226 * @mcr_base_addr: the message completion ring start address 228 * @mcr_size: number of entries which the message completion ring can hold 232 * completion ring 236 * completing a completion descriptor in the message completion ring 241 * @mcr_opt_header_size: the size of the optional header in the completion [all …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/intel/iwlwifi/ |
| D | iwl-context-info-gen3.h | 91 * @IWL_PRPH_SCRATCH_MTR_MODE: format used for completion - 0: for 92 * completion descriptor, 1 for responses (legacy) 223 * @cr_head_idx_arr_base_addr: the completion ring head index array 227 * @cr_tail_idx_arr_base_addr: the completion ring tail index array 231 * @cr_idx_arr_size: number of entries in the completion ring index array 234 * @mcr_base_addr: the message completion ring start address 236 * @mcr_size: number of entries which the message completion ring can hold 240 * completion ring 244 * completing a completion descriptor in the message completion ring 249 * @mcr_opt_header_size: the size of the optional header in the completion [all …]
|
| /kernel/linux/linux-4.19/arch/powerpc/sysdev/ |
| D | pmi.c | 29 #include <linux/completion.h> 46 struct completion *completion; member 65 if (type & PMI_ACK && !data->completion) { in pmi_irq_handler() 71 if (data->completion && !(type & PMI_ACK)) { in pmi_irq_handler() 91 complete(data->completion); in pmi_irq_handler() 221 DECLARE_COMPLETION_ONSTACK(completion); in pmi_send_message() 231 data->completion = &completion; in pmi_send_message() 240 pr_debug("pmi_send_message: wait for completion\n"); in pmi_send_message() 242 wait_for_completion_interruptible_timeout(data->completion, in pmi_send_message() 245 data->completion = NULL; in pmi_send_message()
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/scsi/ |
| D | hisilicon-sas.txt | 19 - queue-count : number of delivery and completion queues in the controller 21 - interrupts : For v1 hw: Interrupts for phys, completion queues, and fatal 24 - Completion queue interrupts 32 Completion queue interrupts : each completion queue has 1 38 For v2 hw: Interrupts for phys, Sata, and completion queues; 42 - Completion queue interrupts 49 Completion queue interrupts : each completion queue has 1
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/scsi/ |
| D | hisilicon-sas.txt | 19 - queue-count : number of delivery and completion queues in the controller 21 - interrupts : For v1 hw: Interrupts for phys, completion queues, and fatal 24 - Completion queue interrupts 32 Completion queue interrupts : each completion queue has 1 38 For v2 hw: Interrupts for phys, Sata, and completion queues; 42 - Completion queue interrupts 49 Completion queue interrupts : each completion queue has 1
|
| /kernel/linux/linux-5.10/drivers/char/hw_random/ |
| D | timeriomem-rng.c | 20 #include <linux/completion.h> 39 struct completion completion; member 55 * bail out. Otherwise, wait for the completion. If the new data has in timeriomem_rng_read() 56 * already been generated, the completion should already be available. in timeriomem_rng_read() 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()
|
| /kernel/linux/linux-4.19/drivers/char/hw_random/ |
| D | timeriomem-rng.c | 23 #include <linux/completion.h> 42 struct completion completion; member 58 * bail out. Otherwise, wait for the completion. If the new data has in timeriomem_rng_read() 59 * already been generated, the completion should already be available. in timeriomem_rng_read() 64 wait_for_completion(&priv->completion); in timeriomem_rng_read() 88 reinit_completion(&priv->completion); in timeriomem_rng_read() 101 complete(&priv->completion); in timeriomem_rng_trigger() 159 init_completion(&priv->completion); in timeriomem_rng_probe() 173 complete(&priv->completion); in timeriomem_rng_probe()
|
| /kernel/linux/linux-5.10/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 …]
|