Searched refs:waiter (Results 1 - 25 of 56) sorted by last modified time

123

/linux-master/include/linux/
H A Dblkdev.h1446 static inline void blk_wake_io_task(struct task_struct *waiter) argument
1453 if (waiter == current)
1456 wake_up_process(waiter);
/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/mm/
H A Dfilemap.c1073 * The waiter is waiting to get the lock, and only one waiter should
1081 * The waiter is waiting to get the bit, and additionally wants the
1084 * the waiter.
1087 * WQ_FLAG_WOKEN, we set WQ_FLAG_DONE to let the waiter easily see
1116 * We are holding the wait-queue lock, but the waiter that
1120 * So update the flags atomically, and wake up the waiter
1132 * waiter, and has to be the absolute last thing we do.
1201 /* How many times do we accept lock stealing from under a waiter? */
1310 * waiter fro
1457 folio_add_wait_queue(struct folio *folio, wait_queue_entry_t *waiter) argument
[all...]
/linux-master/kernel/printk/
H A Dprintk.c1850 * there may be a waiter spinning (like a spinlock). Also it must be
1872 /* The waiter may spin on us after setting console_owner */
1878 * thread was able to busy wait and check if there is a waiter
1884 * there is a busy waiter and passes the lock rights to her.
1887 * there was a busy waiter. They must not touch items synchronized by
1894 int waiter; local
1901 * in the first place. If there has been a waiter then non panic CPUs
1913 waiter = READ_ONCE(console_waiter);
1917 if (!waiter) {
1922 /* The waiter i
1954 bool waiter; local
[all...]
/linux-master/fs/nfs/
H A Dnfs4proc.c7477 struct nfs4_lock_waiter *waiter = local
7484 *wowner = &waiter->owner;
7491 if (nfs_compare_fh(NFS_FH(waiter->inode), &cbnl->cbnl_fh))
7505 struct nfs4_lock_waiter waiter = { local
7517 init_wait(&waiter.wait);
7518 waiter.wait.func = nfs4_wake_lock_waiter;
7519 add_wait_queue(q, &waiter.wait);
7527 wait_woken(&waiter.wait, TASK_INTERRUPTIBLE|TASK_FREEZABLE,
7531 remove_wait_queue(q, &waiter.wait);
/linux-master/drivers/md/persistent-data/
H A Ddm-block-manager.c55 struct waiter { struct
122 static void __wait(struct waiter *w)
136 static void __wake_waiter(struct waiter *w)
152 struct waiter *w, *tmp;
196 struct waiter w;
259 struct waiter w;
/linux-master/drivers/md/dm-vdo/
H A Dwait-queue.h49 * of a waiter after it has been removed from its wait queue.
51 typedef void (*vdo_waiter_callback_fn)(struct vdo_waiter *waiter, void *context);
54 * vdo_waiter_match_fn - Method type for waiter matching methods.
56 * Returns false if the waiter does not match.
58 typedef bool (*vdo_waiter_match_fn)(struct vdo_waiter *waiter, void *context);
63 * The next waiter in the waitq. If this entry is the last waiter, then this
68 /* Optional waiter-specific callback to invoke when dequeuing this waiter. */
73 * vdo_waiter_is_waiting() - Check whether a waiter i
78 vdo_waiter_is_waiting(struct vdo_waiter *waiter) argument
[all...]
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...]
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 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 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 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 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 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 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 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 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 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...]

Completed in 521 milliseconds

123