Searched refs:waiter (Results 26 - 50 of 56) sorted by last modified time

123

/linux-master/drivers/md/dm-vdo/
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...]
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,
/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/tools/testing/selftests/futex/functional/
H A Dfutex_requeue_pi.c128 info("waiter %ld woke with %d %s\n", args->id, args->ret,
285 pthread_t waiter[THREAD_MAX], waker, blocker; local
322 if (create_rt_thread(&waiter[i], waiterfn, (void *)&args[i],
341 pthread_join(waiter[i],
H A Dfutex_requeue_pi_signal_restart.c9 * kernel. The latter should return EWOULDBLOCK to the waiter.
122 pthread_t waiter; local
157 info("Creating waiter\n");
158 res = create_rt_thread(&waiter, waiterfn, NULL, SCHED_FIFO, 1);
172 * signal the waiter before requeue, waiter should automatically
174 * waiter to block on f1 again.
176 info("Issuing SIGUSR1 to waiter\n");
177 pthread_kill(waiter, SIGUSR1);
180 info("Requeueing waiter vi
[all...]
H A Dfutex_waitv.c62 pthread_t waiter; local
97 if (pthread_create(&waiter, NULL, waiterfn, NULL))
130 if (pthread_create(&waiter, NULL, waiterfn, NULL))
148 /* Testing a waiter without FUTEX_32 flag */
166 /* Testing a waiter with an unaligned address */
/linux-master/tools/testing/kunit/
H A Dkunit_kernel.py356 waiter = threading.Thread(target=_wait_proc)
357 waiter.start()
372 waiter.join()
/linux-master/kernel/locking/
H A Drtmutex.c35 static inline int __ww_mutex_add_waiter(struct rt_mutex_waiter *waiter, argument
53 struct rt_mutex_waiter *waiter,
73 * NULL 1 lock is free and has waiters and the top waiter
183 * With the check for the waiter bit in place T3 on CPU2 will not
271 * If a new waiter comes in between the unlock and the cmpxchg
289 * wake waiter();
357 * Update the waiter->tree copy of the sort keys.
360 waiter_update_prio(struct rt_mutex_waiter *waiter, struct task_struct *task) argument
362 lockdep_assert_held(&waiter->lock->wait_lock);
363 lockdep_assert(RB_EMPTY_NODE(&waiter
52 __ww_mutex_check_kill(struct rt_mutex *lock, struct rt_mutex_waiter *waiter, struct ww_acquire_ctx *ww_ctx) argument
373 waiter_clone_prio(struct rt_mutex_waiter *waiter, struct task_struct *task) argument
427 rt_mutex_steal(struct rt_mutex_waiter *waiter, struct rt_mutex_waiter *top_waiter) argument
477 rt_mutex_enqueue(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter) argument
485 rt_mutex_dequeue(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter) argument
505 rt_mutex_enqueue_pi(struct task_struct *task, struct rt_mutex_waiter *waiter) argument
513 rt_mutex_dequeue_pi(struct task_struct *task, struct rt_mutex_waiter *waiter) argument
589 rt_mutex_cond_detect_deadlock(struct rt_mutex_waiter *waiter, enum rtmutex_chainwalk chwalk) argument
682 struct rt_mutex_waiter *waiter, *top_waiter = orig_waiter; local
1084 try_to_take_rt_mutex(struct rt_mutex_base *lock, struct task_struct *task, struct rt_mutex_waiter *waiter) argument
1200 task_blocks_on_rt_mutex(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter, struct task_struct *task, struct ww_acquire_ctx *ww_ctx, enum rtmutex_chainwalk chwalk) argument
1311 struct rt_mutex_waiter *waiter; local
1477 rtmutex_spin_on_owner(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter, struct task_struct *owner) argument
1514 rtmutex_spin_on_owner(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter, struct task_struct *owner) argument
1535 remove_waiter(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter) argument
1599 rt_mutex_slowlock_block(struct rt_mutex_base *lock, struct ww_acquire_ctx *ww_ctx, unsigned int state, struct hrtimer_sleeper *timeout, struct rt_mutex_waiter *waiter) argument
1677 __rt_mutex_slowlock(struct rt_mutex_base *lock, struct ww_acquire_ctx *ww_ctx, unsigned int state, enum rtmutex_chainwalk chwalk, struct rt_mutex_waiter *waiter) argument
1734 struct rt_mutex_waiter waiter; local
1808 struct rt_mutex_waiter waiter; local
[all...]
H A Drwsem.c370 rwsem_add_waiter(struct rw_semaphore *sem, struct rwsem_waiter *waiter) argument
373 list_add_tail(&waiter->list, &sem->wait_list);
378 * Remove a waiter from the wait_list and clear flags.
386 rwsem_del_waiter(struct rw_semaphore *sem, struct rwsem_waiter *waiter) argument
389 list_del(&waiter->list);
415 struct rwsem_waiter *waiter, *tmp; local
422 * Take a peek at the queue head waiter such that we can determine
425 waiter = rwsem_first_waiter(sem);
427 if (waiter->type == RWSEM_WAITING_FOR_WRITE) {
436 wake_q_add(wake_q, waiter
604 rwsem_try_write_lock(struct rw_semaphore *sem, struct rwsem_waiter *waiter) argument
1000 struct rwsem_waiter waiter; local
1109 struct rwsem_waiter waiter; local
[all...]
H A Dmutex.c64 * Bit0 indicates a non-empty waiter list; unlock must issue a wakeup.
65 * Bit1 indicates unlock needs to hand the lock to the top-waiter
195 static inline bool __mutex_waiter_is_first(struct mutex *lock, struct mutex_waiter *waiter) argument
197 return list_first_entry(&lock->wait_list, struct mutex_waiter, list) == waiter;
201 * Add @waiter to a given location in the lock wait_list and set the
202 * FLAG_WAITERS flag if it's the first waiter.
205 __mutex_add_waiter(struct mutex *lock, struct mutex_waiter *waiter, argument
208 debug_mutex_add_waiter(lock, waiter, current);
210 list_add_tail(&waiter->list, list);
211 if (__mutex_waiter_is_first(lock, waiter))
216 __mutex_remove_waiter(struct mutex *lock, struct mutex_waiter *waiter) argument
304 ww_mutex_spin_on_owner(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) argument
352 mutex_spin_on_owner(struct mutex *lock, struct task_struct *owner, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) argument
441 mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) argument
517 mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) argument
578 struct mutex_waiter waiter; local
941 struct mutex_waiter *waiter = local
[all...]
H A Dww_mutex.h53 __ww_waiter_add(struct mutex *lock, struct mutex_waiter *waiter, struct mutex_waiter *pos) argument
58 __mutex_add_waiter(lock, waiter, p);
130 __ww_waiter_add(struct rt_mutex *lock, struct rt_mutex_waiter *waiter, struct rt_mutex_waiter *pos) argument
132 /* RT unconditionally adds the waiter first and then removes it on error */
232 * so the wait_list ordering will go wobbly. rt_mutex re-queues the waiter and
269 * Wait-Die; wake a lesser waiter context (when locks held) such that it can
277 __ww_mutex_die(struct MUTEX *lock, struct MUTEX_WAITER *waiter, argument
283 if (waiter->ww_ctx->acquired > 0 && __ww_ctx_less(waiter->ww_ctx, ww_ctx)) {
285 debug_mutex_wake_waiter(lock, waiter);
441 __ww_mutex_check_kill(struct MUTEX *lock, struct MUTEX_WAITER *waiter, struct ww_acquire_ctx *ctx) argument
489 __ww_mutex_add_waiter(struct MUTEX_WAITER *waiter, struct MUTEX *lock, struct ww_acquire_ctx *ww_ctx) argument
[all...]
H A Drtmutex_common.h22 * This is a helper for the struct rt_mutex_waiter below. A waiter goes in two
27 * @prio: Priority of the waiter
28 * @deadline: Deadline of the waiter if applicable
45 * @lock: Pointer to the rt_mutex on which the waiter blocks
85 struct rt_mutex_waiter *waiter,
88 struct rt_mutex_waiter *waiter,
92 struct rt_mutex_waiter *waiter);
94 struct rt_mutex_waiter *waiter);
116 * Lockless speculative check whether @waiter is still the top waiter o
120 rt_mutex_waiter_is_top_waiter(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter) argument
199 debug_rt_mutex_init_waiter(struct rt_mutex_waiter *waiter) argument
205 debug_rt_mutex_free_waiter(struct rt_mutex_waiter *waiter) argument
211 rt_mutex_init_waiter(struct rt_mutex_waiter *waiter) argument
220 rt_mutex_init_rtlock_waiter(struct rt_mutex_waiter *waiter) argument
[all...]
H A Drtmutex_api.c163 * @wqh: The wake queue head from which to get the next lock waiter
276 * @waiter: the pre-initialized rt_mutex_waiter
279 * Starts the rt_mutex acquire; it enqueues the @waiter and does deadlock
282 * NOTE: does _NOT_ remove the @waiter on failure; must either call
293 struct rt_mutex_waiter *waiter,
304 ret = task_blocks_on_rt_mutex(lock, waiter, task, NULL,
312 * pi chain. Let the waiter sort it out.
323 * @waiter: the pre-initialized rt_mutex_waiter
326 * Starts the rt_mutex acquire; it enqueues the @waiter and does deadlock
329 * NOTE: unlike __rt_mutex_start_proxy_lock this _DOES_ remove the @waiter
292 __rt_mutex_start_proxy_lock(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter, struct task_struct *task) argument
339 rt_mutex_start_proxy_lock(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter, struct task_struct *task) argument
371 rt_mutex_wait_proxy_lock(struct rt_mutex_base *lock, struct hrtimer_sleeper *to, struct rt_mutex_waiter *waiter) argument
411 rt_mutex_cleanup_proxy_lock(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter) argument
455 struct rt_mutex_waiter *waiter; local
[all...]
H A Dsemaphore.c212 struct semaphore_waiter waiter; local
214 list_add_tail(&waiter.list, &sem->wait_list);
215 waiter.task = current;
216 waiter.up = false;
227 if (waiter.up)
232 list_del(&waiter.list);
236 list_del(&waiter.list);
274 struct semaphore_waiter *waiter = list_first_entry(&sem->wait_list, local
276 list_del(&waiter->list);
277 waiter
[all...]
/linux-master/include/linux/
H A Dfilelock.h329 static inline int locks_delete_block(struct file_lock *waiter) argument
/linux-master/fs/
H A Dlocks.c675 static void locks_insert_global_blocked(struct file_lock_core *waiter) argument
679 hash_add(blocked_hash, &waiter->flc_link, posix_owner_key(waiter));
682 static void locks_delete_global_blocked(struct file_lock_core *waiter) argument
686 hash_del(&waiter->flc_link);
689 /* Remove waiter from blocker's block list.
694 static void __locks_unlink_block(struct file_lock_core *waiter) argument
696 locks_delete_global_blocked(waiter);
697 list_del_init(&waiter->flc_blocked_member);
703 struct file_lock_core *waiter; local
726 __locks_delete_block(struct file_lock_core *waiter) argument
776 locks_delete_block(struct file_lock *waiter) argument
797 __locks_insert_block(struct file_lock_core *blocker, struct file_lock_core *waiter, bool conflict(struct file_lock_core *, struct file_lock_core *)) argument
826 locks_insert_block(struct file_lock_core *blocker, struct file_lock_core *waiter, bool conflict(struct file_lock_core *, struct file_lock_core *)) argument
[all...]
/linux-master/fs/iomap/
H A Ddirect-io.c45 struct task_struct *waiter; member in struct:iomap_dio::__anon1795::__anon1796
175 struct task_struct *waiter = dio->submit.waiter; local
177 WRITE_ONCE(dio->submit.waiter, NULL);
178 blk_wake_io_task(waiter);
578 dio->submit.waiter = current;
724 if (!READ_ONCE(dio->submit.waiter))
/linux-master/drivers/staging/vc04_services/interface/vchiq_arm/
H A Dvchiq_dev.c290 struct bulk_waiter_node *waiter = NULL, *iter; local
300 waiter = kzalloc(sizeof(*waiter), GFP_KERNEL);
301 if (!waiter) {
306 userdata = &waiter->bulk_waiter;
313 waiter = iter;
318 if (!waiter) {
325 waiter, current->pid);
326 userdata = &waiter->bulk_waiter;
334 if (!waiter) {
[all...]
H A Dvchiq_core.c1323 struct bulk_waiter *waiter; local
1326 waiter = bulk->userdata;
1327 if (waiter) {
1328 waiter->actual = bulk->actual;
1329 complete(&waiter->event);
H A Dvchiq_arm.c716 struct bulk_waiter_node *waiter, *next; local
718 list_for_each_entry_safe(waiter, next,
720 list_del(&waiter->list);
723 waiter, waiter->pid);
724 kfree(waiter);
923 struct bulk_waiter_node *waiter = NULL, *iter; local
935 waiter = iter;
941 if (waiter) {
942 struct vchiq_bulk *bulk = waiter
[all...]
/linux-master/drivers/tty/
H A Dtty_ldsem.c8 * 2) Write waiter has priority
76 struct ldsem_waiter *waiter, *next; local
94 list_for_each_entry_safe(waiter, next, &sem->read_wait, list) {
95 tsk = waiter->task;
96 smp_store_release(&waiter->task, NULL);
121 struct ldsem_waiter *waiter; local
123 waiter = list_entry(sem->write_wait.next, struct ldsem_waiter, list);
124 wake_up_process(waiter->task);
158 struct ldsem_waiter waiter; local
180 list_add_tail(&waiter
232 struct ldsem_waiter waiter; local
[all...]
/linux-master/drivers/gpu/drm/i915/
H A Di915_scheduler_types.h74 struct i915_sched_node *waiter; member in struct:i915_dependency
H A Di915_scheduler.c340 dep->waiter = node;

Completed in 456 milliseconds

123