Searched refs:waiter (Results 1 - 25 of 56) sorted by path

123

/linux-master/lib/
H A Dklist.c185 struct klist_waiter *waiter, *tmp; local
191 list_for_each_entry_safe(waiter, tmp, &klist_remove_waiters, list) {
192 if (waiter->node != n)
195 list_del(&waiter->list);
196 waiter->woken = 1;
198 wake_up_process(waiter->process);
240 struct klist_waiter waiter; local
242 waiter.node = n;
243 waiter.process = current;
244 waiter
[all...]
/linux-master/block/
H A Dfops.c113 struct task_struct *waiter; member in union:blkdev_dio::__anon310
148 struct task_struct *waiter = dio->waiter; local
150 WRITE_ONCE(dio->waiter, NULL);
151 blk_wake_io_task(waiter);
193 dio->waiter = current;
263 if (!READ_ONCE(dio->waiter))
/linux-master/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_events.c263 struct kfd_event_waiter *waiter; local
267 list_for_each_entry(waiter, &ev->wq.head, wait.entry)
268 WRITE_ONCE(waiter->event, NULL);
625 struct kfd_event_waiter *waiter; local
639 list_for_each_entry(waiter, &ev->wq.head, wait.entry)
640 WRITE_ONCE(waiter->activated, true);
799 struct kfd_event_waiter *waiter,
808 waiter->event = ev;
809 waiter->activated = ev->signaled;
813 if (waiter
798 init_event_waiter(struct kfd_process *p, struct kfd_event_waiter *waiter, struct kfd_event_data *event_data) argument
869 struct kfd_event_waiter *waiter; local
[all...]
/linux-master/drivers/gpu/drm/i915/gt/
H A Dintel_execlists_submission.c1094 container_of(p->waiter, typeof(*w), sched);
1103 /* No waiter should start before its signaler */
2074 container_of(p->waiter, typeof(*w), sched);
2175 container_of(p->waiter, typeof(*w), sched);
/linux-master/drivers/gpu/drm/i915/
H A Di915_scheduler.c340 dep->waiter = node;
H A Di915_scheduler_types.h74 struct i915_sched_node *waiter; member in struct:i915_dependency
/linux-master/drivers/md/dm-vdo/
H A Dadmin-state.c191 * Will notify the operation waiter if there is one. This method should be used for operations
203 if (state->waiter != NULL)
204 vdo_set_completion_result(state->waiter, result);
208 if (state->waiter != NULL)
209 vdo_launch_completion(vdo_forget(state->waiter));
217 * @waiter A completion to notify when the operation is complete; may be NULL.
224 struct vdo_completion *waiter,
235 } else if (state->waiter != NULL) {
237 "Can't start %s with extant waiter",
240 state->waiter
222 begin_operation(struct admin_state *state, const struct admin_state_code *operation, struct vdo_completion *waiter, vdo_admin_initiator_fn initiator) argument
267 start_operation(struct admin_state *state, const struct admin_state_code *operation, struct vdo_completion *waiter, vdo_admin_initiator_fn initiator) argument
286 check_code(bool valid, const struct admin_state_code *code, const char *what, struct vdo_completion *waiter) argument
308 assert_vdo_drain_operation(const struct admin_state_code *operation, struct vdo_completion *waiter) argument
322 vdo_start_draining(struct admin_state *state, const struct admin_state_code *operation, struct vdo_completion *waiter, vdo_admin_initiator_fn initiator) argument
372 vdo_assert_load_operation(const struct admin_state_code *operation, struct vdo_completion *waiter) argument
386 vdo_start_loading(struct admin_state *state, const struct admin_state_code *operation, struct vdo_completion *waiter, vdo_admin_initiator_fn initiator) argument
421 assert_vdo_resume_operation(const struct admin_state_code *operation, struct vdo_completion *waiter) argument
436 vdo_start_resuming(struct admin_state *state, const struct admin_state_code *operation, struct vdo_completion *waiter, vdo_admin_initiator_fn initiator) argument
498 vdo_start_operation_with_waiter(struct admin_state *state, const struct admin_state_code *operation, struct vdo_completion *waiter, vdo_admin_initiator_fn initiator) argument
[all...]
H A Dadmin-state.h57 struct vdo_completion *waiter; member in struct:admin_state
140 struct vdo_completion *waiter);
144 struct vdo_completion *waiter, vdo_admin_initiator_fn initiator);
152 struct vdo_completion *waiter, vdo_admin_initiator_fn initiator);
162 struct vdo_completion *waiter, vdo_admin_initiator_fn initiator);
173 struct vdo_completion *waiter,
H A Dblock-map.c88 struct vdo_waiter waiter; member in struct:cursor
163 static inline struct vdo_page_completion *page_completion_from_waiter(struct vdo_waiter *waiter) argument
167 if (waiter == NULL)
170 completion = container_of(waiter, struct vdo_page_completion, waiter);
502 * @waiter: The page completion, as a waiter.
507 static void complete_waiter_with_error(struct vdo_waiter *waiter, void *result_ptr) argument
511 vdo_fail_completion(&page_completion_from_waiter(waiter)->completion, *result);
516 * @waiter
521 complete_waiter_with_page(struct vdo_waiter *waiter, void *page_info) argument
875 completion_needs_page(struct vdo_waiter *waiter, void *context) argument
1499 write_page_callback(struct vdo_waiter *waiter, void *context) argument
1504 acquire_vio(struct vdo_waiter *waiter, struct block_map_zone *zone) argument
1534 write_page_if_not_dirtied(struct vdo_waiter *waiter, void *context) argument
1724 abort_lookup_for_waiter(struct vdo_waiter *waiter, void *context) argument
1814 continue_load_for_waiter(struct vdo_waiter *waiter, void *context) argument
1872 load_page(struct vdo_waiter *waiter, void *context) argument
1949 continue_allocation_for_waiter(struct vdo_waiter *waiter, void *context) argument
2629 launch_cursor(struct vdo_waiter *waiter, void *context) argument
[all...]
H A Dblock-map.h170 /* The waiter for the pending list */
171 struct vdo_waiter waiter; member in struct:vdo_page_completion
185 struct vdo_waiter waiter; member in struct:tree_page
H A Ddata-vio.c109 * eldest discard waiter, and that waiter is moved to the end of the list of discard bios waiting
146 /* The function for assigning a resource to a waiter */
150 /* The arrival time of the eldest waiter */
468 vdo_waitq_enqueue_waiter(&lock_holder->logical.waiters, &data_vio->waiter);
1190 /** transfer_lock() - Transfer a contended LBN lock to the eldest waiter. */
H A Ddata-vio.h172 struct vdo_waiter waiter; member in struct:reference_updater
178 struct vdo_waiter waiter; member in struct:data_vio
292 static inline struct data_vio *vdo_waiter_as_data_vio(struct vdo_waiter *waiter) argument
294 if (waiter == NULL)
297 return container_of(waiter, struct data_vio, waiter);
H A Ddedupe.c427 * Return: The first (oldest) waiter in the queue, or NULL if the queue is empty.
522 * retire_lock_agent() - Retire the active lock agent, replacing it with the first lock waiter, and
526 * Return: The new lock agent (which will be NULL if there was no waiter)
547 vdo_waitq_enqueue_waiter(&lock->waiters, &data_vio->waiter);
570 * @waiter: The data_vio's waiter link.
573 static void abort_waiter(struct vdo_waiter *waiter, void *context __always_unused) argument
575 write_data_vio(vdo_waiter_as_data_vio(waiter));
657 * need to be re-verified if a waiter arrived.
664 * agent was releasing the PBN lock. The current agent exits and the waiter ha
928 enter_forked_lock(struct vdo_waiter *waiter, void *context) argument
[all...]
H A Ddump.c154 struct vdo_waiter *waiter, *first = vdo_waitq_get_first_waiter(waitq); local
166 for (waiter = first->next_waiter; waiter != first; waiter = waiter->next_waiter) {
167 data_vio = vdo_waiter_as_data_vio(waiter);
195 if (data_vio->waiter.next_waiter != NULL)
H A Dflush.c92 * @waiter: The wait queue entry to convert.
96 static struct vdo_flush *vdo_waiter_as_flush(struct vdo_waiter *waiter) argument
98 return container_of(waiter, struct vdo_flush, waiter);
285 vdo_waitq_enqueue_waiter(&flusher->notifiers, &flush->waiter);
H A Dflush.h21 struct vdo_waiter waiter; member in struct:vdo_flush
H A Dphysical-zone.c517 * @waiter: The allocating_vio that was waiting to allocate.
520 static void retry_allocation(struct vdo_waiter *waiter, void *context __always_unused) argument
522 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter);
560 data_vio->waiter.callback = retry_allocation;
562 &data_vio->waiter);
H A Drecovery-journal.c267 static void continue_waiter(struct vdo_waiter *waiter, void *context) argument
269 continue_data_vio_with_error(vdo_waiter_as_data_vio(waiter), *((int *) context));
276 * Return: true if any block has a waiter.
1080 * assign_entry() - Assign an entry waiter to the active block.
1084 static void assign_entry(struct vdo_waiter *waiter, void *context) argument
1086 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter);
1102 vdo_waitq_enqueue_waiter(&block->entry_waiters, &data_vio->waiter);
1171 static void continue_committed_waiter(struct vdo_waiter *waiter, void *context) argument
1173 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter);
1180 "DataVIOs released from recovery journal in order. Recovery journal point is (%llu, %u), but commit waiter poin
1368 write_block(struct vdo_waiter *waiter, void *context __always_unused) argument
[all...]
H A Dslab-depot.c126 static void release_journal_locks(struct vdo_waiter *waiter, void *context);
353 * @waiter: The waiter that is updating the summary.
359 static void update_slab_summary_entry(struct vdo_slab *slab, struct vdo_waiter *waiter, argument
372 waiter->callback(waiter, &result);
379 waiter->callback(waiter, &result);
390 vdo_waitq_enqueue_waiter(&block->next_update_waiters, waiter);
444 * flush_for_reaping() - A waiter callbac
449 flush_for_reaping(struct vdo_waiter *waiter, void *context) argument
558 release_journal_locks(struct vdo_waiter *waiter, void *context) argument
742 write_slab_journal_block(struct vdo_waiter *waiter, void *context) argument
1015 finish_summary_update(struct vdo_waiter *waiter, void *context) argument
1041 launch_reference_block_write(struct vdo_waiter *waiter, void *context) argument
1185 write_reference_block(struct vdo_waiter *waiter, void *context) argument
1689 add_entry_from_waiter(struct vdo_waiter *waiter, void *context) argument
1755 struct vdo_waiter *waiter = vdo_waitq_get_first_waiter(&journal->entry_waiters); local
2269 load_reference_block(struct vdo_waiter *waiter, void *context) argument
2294 struct vdo_waiter *waiter = &slab->reference_blocks[i].waiter; local
2465 read_slab_journal_tail(struct vdo_waiter *waiter, void *context) argument
3063 abort_waiter(struct vdo_waiter *waiter, void *context __always_unused) argument
3219 vdo_enqueue_clean_slab_waiter(struct block_allocator *allocator, struct vdo_waiter *waiter) argument
[all...]
H A Dslab-depot.h68 /* A waiter object for getting a VIO pool entry */
70 /* A waiter object for updating the slab summary */
72 /* A waiter object for getting a vio with which to flush */
158 struct vdo_waiter waiter; member in struct:reference_block
254 /* A waiter object for updating the slab summary */
531 struct vdo_waiter *waiter);
H A Dvdo.c1086 if (notifier->waiter != NULL) {
1093 notifier->waiter = parent;
1098 if (notifier->waiter == NULL) {
1134 if (notifier->waiter != NULL)
1135 vdo_continue_completion(vdo_forget(notifier->waiter),
1214 if (notifier->waiter != NULL) {
1225 notifier->waiter = parent;
1230 if (notifier->waiter == NULL) {
H A Dvdo.h112 struct vdo_completion *waiter; member in struct:read_only_notifier
H A Dvio.c400 * @waiter: Object that is requesting a vio.
402 void acquire_vio_from_pool(struct vio_pool *pool, struct vdo_waiter *waiter) argument
410 vdo_waitq_enqueue_waiter(&pool->waiting, waiter);
417 (*waiter->callback)(waiter, pooled);
H A Dvio.h196 void acquire_vio_from_pool(struct vio_pool *pool, struct vdo_waiter *waiter);
H A Dwait-queue.c15 * vdo_waitq_enqueue_waiter() - Add a waiter to the tail end of a waitq.
16 * @waitq: The vdo_wait_queue to which to add the waiter.
17 * @waiter: The waiter to add to the waitq.
19 * The waiter must not already be waiting in a waitq.
21 void vdo_waitq_enqueue_waiter(struct vdo_wait_queue *waitq, struct vdo_waiter *waiter) argument
23 BUG_ON(waiter->next_waiter != NULL);
28 * initial waiter.
30 waiter->next_waiter = waiter;
138 struct vdo_waiter *waiter = vdo_waitq_dequeue_waiter(&iteration_waitq); local
195 struct vdo_waiter *waiter = vdo_waitq_dequeue_waiter(waitq); local
[all...]

Completed in 260 milliseconds

123