/linux-master/drivers/md/dm-vdo/ |
H A D | completion.c | 6 #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 ma 51 vdo_initialize_completion(struct vdo_completion *completion, struct vdo *vdo, enum vdo_completion_type type) argument 61 assert_incomplete(struct vdo_completion *completion) argument 71 vdo_set_completion_result(struct vdo_completion *completion, int result) argument 86 vdo_launch_completion_with_priority(struct vdo_completion *completion, enum vdo_completion_priority priority) argument 100 vdo_finish_completion(struct vdo_completion *completion) argument 108 vdo_enqueue_completion(struct vdo_completion *completion, enum vdo_completion_priority priority) argument 131 vdo_requeue_completion_if_needed(struct vdo_completion *completion, thread_id_t callback_thread_id) argument [all...] |
H A D | completion.h | 15 * 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) argument 21 if ((completion->result != VDO_SUCCESS) && (completion->error_handler != NULL)) { 22 completion->error_handler(completion); 26 completion->callback(completion); 29 void vdo_set_completion_result(struct vdo_completion *completion, int result); 31 void vdo_initialize_completion(struct vdo_completion *completion, struc 38 vdo_reset_completion(struct vdo_completion *completion) argument 50 vdo_launch_completion(struct vdo_completion *completion) argument 62 vdo_continue_completion(struct vdo_completion *completion, int result) argument 74 vdo_fail_completion(struct vdo_completion *completion, int result) argument 85 vdo_assert_completion_type(struct vdo_completion *completion, enum vdo_completion_type expected) argument 93 vdo_set_completion_callback(struct vdo_completion *completion, vdo_action_fn callback, thread_id_t callback_thread_id) argument 104 vdo_launch_completion_callback(struct vdo_completion *completion, vdo_action_fn callback, thread_id_t callback_thread_id) argument 117 vdo_prepare_completion(struct vdo_completion *completion, vdo_action_fn callback, vdo_action_fn error_handler, thread_id_t callback_thread_id, void *parent) argument 134 vdo_prepare_completion_for_requeue(struct vdo_completion *completion, vdo_action_fn callback, vdo_action_fn error_handler, thread_id_t callback_thread_id, void *parent) argument [all...] |
H A D | repair.c | 16 #include "completion.h" 55 /* The completion header */ 56 struct vdo_completion completion; member in struct:repair_completion 190 * as_repair_completion() - Convert a generic completion to a repair_completion. 191 * @completion: The completion to convert. 196 as_repair_completion(struct vdo_completion *completion) argument 198 vdo_assert_completion_type(completion, VDO_REPAIR_COMPLETION); 199 return container_of(completion, struct repair_completion, completion); 205 struct vdo_completion *completion = &repair->completion; local 249 finish_repair(struct vdo_completion *completion) argument 287 abort_repair(struct vdo_completion *completion) argument 322 drain_slab_depot(struct vdo_completion *completion) argument 349 flush_block_map_updates(struct vdo_completion *completion) argument 367 handle_page_load_error(struct vdo_completion *completion) argument 383 unmap_entry(struct block_map_page *page, struct vdo_completion *completion, slot_number_t slot) argument 396 remove_out_of_bounds_entries(struct block_map_page *page, struct vdo_completion *completion, slot_number_t start) argument 418 process_slot(struct block_map_page *page, struct vdo_completion *completion, slot_number_t slot) argument 465 rebuild_reference_counts_from_page(struct repair_completion *repair, struct vdo_completion *completion) argument 502 page_loaded(struct vdo_completion *completion) argument 539 fetch_page(struct repair_completion *repair, struct vdo_completion *completion) argument 571 rebuild_from_leaves(struct vdo_completion *completion) argument 611 process_entry(physical_block_number_t pbn, struct vdo_completion *completion) argument 635 rebuild_reference_counts(struct vdo_completion *completion) argument 794 add_slab_journal_entries(struct vdo_completion *completion) argument 854 struct vdo_completion *completion = &allocator->completion; local 884 load_slab_depot(struct vdo_completion *completion) argument 903 flush_block_map(struct vdo_completion *completion) argument 1008 block_map_page_loaded(struct vdo_completion *completion) argument 1017 handle_block_map_page_load_error(struct vdo_completion *completion) argument 1025 fetch_block_map_page(struct repair_completion *repair, struct vdo_completion *completion) argument 1046 get_next_page_completion(struct repair_completion *repair, struct vdo_page_completion *completion) argument 1055 recover_ready_pages(struct repair_completion *repair, struct vdo_completion *completion) argument 1096 recover_block_map(struct vdo_completion *completion) argument 1652 finish_journal_load(struct vdo_completion *completion) argument 1665 handle_journal_load_error(struct vdo_completion *completion) argument [all...] |
H A D | action-manager.c | 12 #include "completion.h" 41 * @completion: The completion for performing actions. 54 struct vdo_completion completion; member in struct:action_manager 66 static inline struct action_manager *as_action_manager(struct vdo_completion *completion) argument 68 vdo_assert_completion_type(completion, VDO_ACTION_COMPLETION); 69 return container_of(completion, struct action_manager, completion); 79 static void no_preamble(void *context __always_unused, struct vdo_completion *completion) argument 81 vdo_finish_completion(completion); 151 preserve_error(struct vdo_completion *completion) argument 175 apply_to_zone(struct vdo_completion *completion) argument 198 handle_preamble_error(struct vdo_completion *completion) argument 250 finish_action_callback(struct vdo_completion *completion) argument [all...] |
H A D | flush.c | 16 #include "completion.h" 24 struct vdo_completion completion; member in struct:flusher 68 * @completion: The completion to convert. 70 * Return: The completion as a flusher. 72 static struct flusher *as_flusher(struct vdo_completion *completion) argument 74 vdo_assert_completion_type(completion, VDO_FLUSH_NOTIFICATION_COMPLETION); 75 return container_of(completion, struct flusher, completion); 80 * @completion 84 completion_as_vdo_flush(struct vdo_completion *completion) argument 192 finish_notification(struct vdo_completion *completion) argument 212 flush_packer_callback(struct vdo_completion *completion) argument 228 increment_generation(struct vdo_completion *completion) argument 267 flush_vdo(struct vdo_completion *completion) argument 378 struct vdo_completion *completion = &flush->completion; local 461 vdo_complete_flush_callback(struct vdo_completion *completion) argument 518 struct vdo_completion *completion = &flush->completion; local 544 vdo_drain_flusher(struct flusher *flusher, struct vdo_completion *completion) argument [all...] |
H A D | funnel-workqueue.c | 10 #include <linux/completion.h> 22 #include "completion.h" 64 struct completion *started; 89 * Dequeue and return the next waiting completion, if any. 92 * condition where a high-priority completion can be enqueued followed by a lower-priority one, and 111 struct vdo_completion *completion) 113 VDO_ASSERT_LOG_ONLY(completion->my_queue == NULL, 114 "completion %px (fn %px) to enqueue (%px) is not already queued (%px)", 115 completion, completion 110 enqueue_work_queue_completion(struct simple_work_queue *queue, struct vdo_completion *completion) argument 176 struct vdo_completion *completion; local 222 process_completion(struct simple_work_queue *queue, struct vdo_completion *completion) argument 238 struct vdo_completion *completion = poll_for_completion(queue); local 538 vdo_dump_completion_to_buffer(struct vdo_completion *completion, char *buffer, size_t length) argument 556 vdo_enqueue_work_queue(struct vdo_work_queue *queue, struct vdo_completion *completion) argument [all...] |
H A D | data-vio.h | 18 #include "completion.h" 247 /* The completion to use for fetching block map pages for this vio */ 269 /* The completion for making reference count decrements */ 287 static inline struct data_vio *as_data_vio(struct vdo_completion *completion) argument 289 return vio_as_data_vio(as_vio(completion)); 315 return data_vio->vio.completion.vdo; 335 void drain_data_vio_pool(struct data_vio_pool *pool, struct vdo_completion *completion); 336 void resume_data_vio_pool(struct data_vio_pool *pool, struct vdo_completion *completion); 348 void complete_data_vio(struct vdo_completion *completion); 349 void handle_data_vio_error(struct vdo_completion *completion); 641 struct vdo_completion *completion = &data_vio->vio.completion; local [all...] |
H A D | flush.h | 16 /* The completion for enqueueing this flush request. */ 17 struct vdo_completion completion; member in struct:vdo_flush 40 void vdo_drain_flusher(struct flusher *flusher, struct vdo_completion *completion);
|
H A D | data-vio.c | 58 * completion is required for further work to be done by the issuer. 101 * completion will be enqueued on a cpu queue. This obviates the need for the releasing threads to 105 * Whenever the pool's completion is run on a cpu thread, it calls process_release_callback() which 160 struct vdo_completion completion; member in struct:data_vio_pool 215 as_data_vio_pool(struct vdo_completion *completion) argument 217 vdo_assert_completion_type(completion, VDO_DATA_VIO_POOL_COMPLETION); 218 return container_of(completion, struct data_vio_pool, completion); 275 int error = vdo_status_to_errno(data_vio->vio.completion.result); 414 * @completion 418 attempt_logical_block_lock(struct vdo_completion *completion) argument 487 struct vdo_completion *completion = &data_vio->vio.completion; local 697 process_release_callback(struct vdo_completion *completion) argument 1009 drain_data_vio_pool(struct data_vio_pool *pool, struct vdo_completion *completion) argument 1020 resume_data_vio_pool(struct data_vio_pool *pool, struct vdo_completion *completion) argument 1157 release_allocated_lock(struct vdo_completion *completion) argument 1237 release_logical_lock(struct vdo_completion *completion) argument 1254 clean_hash_lock(struct vdo_completion *completion) argument 1276 struct vdo_completion *completion = &data_vio->vio.completion; local 1338 complete_data_vio(struct vdo_completion *completion) argument 1348 enter_read_only_mode(struct vdo_completion *completion) argument 1368 handle_data_vio_error(struct vdo_completion *completion) argument 1472 modify_for_partial_write(struct vdo_completion *completion) argument 1494 complete_read(struct vdo_completion *completion) argument 1538 complete_zero_read(struct vdo_completion *completion) argument 1562 read_block(struct vdo_completion *completion) argument 1605 reference_count_update_completion_as_data_vio(struct vdo_completion *completion) argument 1619 update_block_map(struct vdo_completion *completion) argument 1648 decrement_reference_count(struct vdo_completion *completion) argument 1661 increment_reference_count(struct vdo_completion *completion) argument 1684 journal_remapping(struct vdo_completion *completion) argument 1719 read_old_block_mapping(struct vdo_completion *completion) argument 1747 pack_compressed_data(struct vdo_completion *completion) argument 1768 compress_data_vio(struct vdo_completion *completion) argument 1839 hash_data_vio(struct vdo_completion *completion) argument 1927 acknowledge_write_callback(struct vdo_completion *completion) argument 1952 allocate_block(struct vdo_completion *completion) argument 1983 handle_allocation_error(struct vdo_completion *completion) argument 2012 continue_data_vio_with_block_map_slot(struct vdo_completion *completion) argument [all...] |
/linux-master/drivers/s390/cio/ |
H A D | chsc_sch.h | 6 struct completion completion; member in struct:chsc_request
|
H A D | eadm_sch.h | 5 #include <linux/completion.h> 14 struct completion *completion; member in struct:eadm_private
|
/linux-master/include/linux/ |
H A 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 32 static inline void complete_acquire(struct completion *x) {} 33 static inline void complete_release(struct completion *x) {} 45 * DECLARE_COMPLETION - declare and initialize a completion structur [all...] |
H A D | rcupdate_wait.h | 10 #include <linux/completion.h> 18 struct completion completion; member in struct:rcu_synchronize
|
H A D | hw_random.h | 15 #include <linux/completion.h> 52 struct completion cleanup_done; 53 struct completion dying;
|
/linux-master/include/kunit/ |
H A D | try-catch.h | 17 struct completion; 49 struct completion *try_completion;
|
/linux-master/kernel/sched/ |
H A D | completion.c | 4 * Generic wait-for-completion handler; 13 * Waiting for completion is a typically sync point, but not an exclusion point. 16 static void complete_with_flags(struct completion *x, int wake_flags) 28 void complete_on_current_cpu(struct completion *x) 34 * complete: - signals a single thread waiting on this completion 35 * @x: holds the state of this particular completion 37 * This will wake up a single thread waiting on this completion. Threads will be 45 void complete(struct completion *x) 52 * complete_all: - signals all threads waiting on this completion 53 * @x: holds the state of this particular completion [all...] |
/linux-master/fs/nfs/ |
H A D | cache_lib.h | 8 #include <linux/completion.h> 18 struct completion completion; member in struct:nfs_cache_defer_req
|
/linux-master/drivers/soc/apple/ |
H A D | rtkit-internal.h | 12 #include <linux/completion.h> 32 struct completion epmap_completion; 33 struct completion iop_pwr_ack_completion; 34 struct completion ap_pwr_ack_completion;
|
/linux-master/sound/soc/codecs/ |
H A D | cs42l43.h | 12 #include <linux/completion.h> 60 struct completion pll_ready; 66 struct completion hp_startup; 67 struct completion hp_shutdown; 68 struct completion spkr_shutdown; 69 struct completion spkl_shutdown; 70 struct completion spkr_startup; 71 struct completion spkl_startup; 91 struct completion type_detect; 92 struct completion load_detec [all...] |
/linux-master/drivers/gpu/drm/xen/ |
H A D | xen_drm_front_evtchnl.h | 14 #include <linux/completion.h> 53 struct completion completion; member in struct:xen_drm_front_evtchnl::__anon3771::__anon3772
|
/linux-master/drivers/remoteproc/ |
H A D | qcom_q6v5.h | 7 #include <linux/completion.h> 34 struct completion start_done; 35 struct completion stop_done;
|
/linux-master/drivers/crypto/caam/ |
H A D | key_gen.h | 40 struct completion completion; member in struct:split_key_result
|
/linux-master/drivers/net/wireless/silabs/wfx/ |
H A D | bh.h | 13 #include <linux/completion.h> 20 struct completion ctrl_ready;
|
/linux-master/drivers/i2c/busses/ |
H A D | i2c-pasemi-core.h | 10 #include <linux/completion.h> 21 struct completion irq_completion;
|
/linux-master/drivers/net/wwan/iosm/ |
H A D | iosm_ipc_task_queue.c | 27 /* Signal completion for synchronous calls */ 28 if (args->completion) 29 complete(args->completion); 42 args->completion = NULL; 64 if (args->completion) 65 complete(args->completion); 85 struct completion completion; local 90 init_completion(&completion); 111 ipc_task->args[pos].completion [all...] |