Home
last modified time | relevance | path

Searched full:completion (Results 1 – 25 of 1629) sorted by relevance

12345678910>>...66

/linux/drivers/md/dm-vdo/
H A Dcompletion.c6 #include "completion.h"
24 * vdo_work_queue which holds vdo_completions that are to be run in that zone. A completion may
27 * At each step of a multi-threaded operation, the completion performing the operation is given a
28 * callback, error handler, and thread id for the next step. A completion is "run" when it is
32 * will be invoked. Generally, a completion will not be run directly, but rather will be
35 * completion's "callback_thread_id". When it is dequeued, it will be on the correct thread, and
36 * will get run. In some cases, the completion should get queued instead of running immediately,
39 * the completion's "requeue" field should be set to true. Doing so will skip the current thread
40 * check and simply enqueue the completion.
42 * A completion may be "finished," in which case its "complete" field will be set to true before it
[all …]
H A Dcompletion.h15 * vdo_run_completion() - Run a completion's callback or error handler on the current thread.
19 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,
35 * vdo_reset_completion() - Reset a completion to a clean state, while keeping the type, vdo and
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()
[all …]
H A Dvdo.c14 * A read_only_notifier has a single completion which is used to perform read-only notifications,
32 #include <linux/completion.h>
47 #include "completion.h"
67 struct completion completion; member
519 vdo_initialize_completion(&vdo->admin.completion, vdo, VDO_ADMIN_COMPLETION); in initialize_vdo()
802 * @completion: The super block vio.
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()
817 * @completion: The super block vio.
[all …]
H A Dvio.h15 #include "completion.h"
39 * @completion: The completion to convert.
41 * Return: The completion as a vio.
43 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()
[all …]
/linux/include/linux/
H A Dcompletion.h8 * 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
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()
45 * DECLARE_COMPLETION - declare and initialize a completion structure
46 * @work: identifier for the completion structure
[all …]
/linux/kernel/sched/
H A Dcompletion.c4 * Generic wait-for-completion handler;
13 * Waiting for completion is a typically sync point, but not an exclusion point.
18 #include <linux/completion.h>
21 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()
39 * complete: - signals a single thread waiting on this completion
40 * @x: holds the state of this particular completion
42 * This will wake up a single thread waiting on this completion. Threads will be
50 void complete(struct completion *x) in complete()
57 * complete_all: - signals all threads waiting on this completion
[all …]
/linux/rust/kernel/sync/
H A Dcompletion.rs3 //! Completion support.
5 //! Reference: <https://docs.kernel.org/scheduler/completion.html>
7 //! C header: [`include/linux/completion.h`](srctree/include/linux/completion.h)
13 /// The [`Completion`] synchronization primitive signals when a certain task has been completed by
14 /// waking up other tasks that have been queued up to wait for the [`Completion`] to be completed.
19 /// use kernel::sync::{Arc, Completion};
27 /// done: Completion,
38 /// done <- Completion::new(),
49 /// pr_info!("Completion
67 pub struct Completion { global() struct
72 innerCompletion global() argument
73 unsafe impl Send for Completion {} global() implementation
76 unsafe impl Sync for Completion {} global() implementation
78 impl Completion { global() implementation
89 as_raw(&self) -> *mut bindings::completion as_raw() argument
[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/Documentation/translations/zh_CN/scheduler/
H A Dcompletion.rst3 :Original: Documentation/scheduler/completion.rst
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;
180 int wait_for_completion_interruptible(struct completion *done)
[all …]
/linux/tools/perf/pmu-events/arch/powerpc/power8/
H A Dpipeline.json23 "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 …]
/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/scsi/isci/
H A Dscu_completion_codes.h60 * 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 …]
/linux/drivers/net/ethernet/google/gve/
H A Dgve_desc_dqo.h32 /* If set, will generate a descriptor completion for this descriptor. */
37 /* The TX completion associated with this packet will contain this tag.
146 /* TX completion descriptor */
149 * completion.
165 /* For packet completions, this is the completion tag set on the
174 #define GVE_COMPL_TYPE_DQO_PKT 0x2 /* Packet completion */
175 #define GVE_COMPL_TYPE_DQO_DESC 0x4 /* Descriptor completion */
176 #define GVE_COMPL_TYPE_DQO_MISS 0x1 /* Miss path completion */
177 #define GVE_COMPL_TYPE_DQO_REINJECTION 0x3 /* Re-injection completion */
179 /* The most significant bit in the completion tag can change the completion
[all …]
/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/net/wwan/iosm/
H A Diosm_ipc_task_queue.c27 /* Signal completion for synchronous calls */ in ipc_task_queue_handler()
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()
H A Diosm_ipc_protocol_ops.h14 * enum ipc_mem_td_cs - Completion status of a TD
33 * enum ipc_mem_msg_cs - Completion status of IPC Message
35 * @IPC_MEM_MSG_CS_SUCCESS: IPC Message completion success.
130 * @completion: For waking up requestor
131 * @status: Completion status
134 struct completion completion; member
142 * @IPC_MEM_MSG_ABORT_PIPE: AP ->CP: wait for completion of the
164 * @completion_status: Message Completion Status
184 * @completion_status: Message Completion Status
204 * @completion_status: Message Completion Status
[all …]
/linux/tools/perf/pmu-events/arch/x86/pantherlake/
H A Dmemory.json96 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 1024 cycles.",
103 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 1024 cycles. Reported latency may be longer than just the memory latency. Available PDIST counters: 0,1",
109 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 128 cycles.",
116 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 128 cycles. Reported latency may be longer than just the memory latency. Available PDIST counters: 0,1",
122 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 16 cycles.",
129 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 16 cycles. Reported latency may be longer than just the memory latency. Available PDIST counters: 0,1",
135 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 2048 cycles.",
142 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 2048 cycles. Reported latency may be longer than just the memory latency. Available PDIST counters: 0,1",
148 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 256 cycles.",
155 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion i
[all...]
/linux/tools/perf/pmu-events/arch/x86/tigerlake/
H A Dmemory.json21 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 128 cycles.",
28 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 128 cycles. Reported latency may be longer than just the memory latency.",
33 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 16 cycles.",
40 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 16 cycles. Reported latency may be longer than just the memory latency.",
45 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 256 cycles.",
52 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 256 cycles. Reported latency may be longer than just the memory latency.",
57 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 32 cycles.",
64 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 32 cycles. Reported latency may be longer than just the memory latency.",
69 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 4 cycles.",
76 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion i
[all...]
/linux/fs/nilfs2/
H A Dsysfs.h21 * @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;
/linux/drivers/net/wireless/intel/iwlwifi/pcie/
H A Diwl-context-info-v2.h48 * @IWL_PRPH_SCRATCH_MTR_MODE: format used for completion - 0: for
49 * completion descriptor, 1 for responses (legacy)
259 * @cr_head_idx_arr_base_addr: the completion ring head index array
263 * @cr_tail_idx_arr_base_addr: the completion ring tail index array
267 * @cr_idx_arr_size: number of entries in the completion ring index array
270 * @mcr_base_addr: the message completion ring start address
272 * @mcr_size: number of entries which the message completion ring can hold
276 * completion ring
280 * completing a completion descriptor in the message completion ring
285 * @mcr_opt_header_size: the size of the optional header in the completion
[all …]
/linux/drivers/s390/char/
H A Dsclp_cmd.c10 #include <linux/completion.h>
53 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()
217 * and wait for completion. On success return 0. Return non-zero otherwise.
228 * Perform read channel-path information sclp command and wait for completion.
/linux/Documentation/devicetree/bindings/scsi/
H A Dhisilicon-sas.txt19 - 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
/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/tools/perf/pmu-events/arch/x86/meteorlake/
H A Dmemory.json203 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 1024 cycles.",
210 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 1024 cycles. Reported latency may be longer than just the memory latency. Available PDIST counters: 0",
216 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 128 cycles.",
223 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 128 cycles. Reported latency may be longer than just the memory latency. Available PDIST counters: 0",
229 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 16 cycles.",
236 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 16 cycles. Reported latency may be longer than just the memory latency. Available PDIST counters: 0",
242 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 2048 cycles.",
249 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 2048 cycles. Reported latency may be longer than just the memory latency. Available PDIST counters: 0",
255 "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 256 cycles.",
262 "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion i
[all...]
/linux/include/linux/sunrpc/
H A Drpc_rdma_cid.h10 * The rpc_rdma_cid struct records completion ID information. A
11 * completion ID matches an incoming Send or Receive completion
12 * to a Completion Queue and to a previous ib_post_*(). The ID

12345678910>>...66