Searched refs:waiters (Results 1 - 25 of 39) sorted by relevance

12

/linux-master/tools/testing/selftests/futex/include/
H A Dfutex2test.h13 * @waiters: Array of waiters
14 * @nr_waiters: Length of waiters array
18 static inline int futex_waitv(volatile struct futex_waitv *waiters, unsigned long nr_waiters, argument
21 return syscall(__NR_futex_waitv, waiters, nr_waiters, flags, timo, clockid);
/linux-master/drivers/gpu/drm/radeon/
H A Dradeon_semaphore.c50 (*semaphore)->waiters = 0;
66 --semaphore->waiters;
83 ++semaphore->waiters;
99 if ((*semaphore)->waiters > 0) {
100 dev_err(rdev->dev, "semaphore %p has more waiters than signalers,"
H A Dradeon_trace.h176 __field(signed, waiters)
182 __entry->waiters = sem->waiters;
186 TP_printk("ring=%u, waiters=%d, addr=%010Lx", __entry->ring,
187 __entry->waiters, __entry->gpu_addr)
/linux-master/drivers/md/dm-vdo/
H A Dwait-queue.c43 * vdo_waitq_transfer_all_waiters() - Transfer all waiters from one waitq to
45 * @from_waitq: The waitq containing the waiters to move.
46 * @to_waitq: The waitq that will receive the waiters from the first waitq.
74 * @waitq: The vdo_wait_queue containing the waiters to notify.
81 * and only the waiters that were in the waitq at the start of the call will be notified.
90 struct vdo_wait_queue waiters; local
92 vdo_waitq_init(&waiters);
93 vdo_waitq_transfer_all_waiters(waitq, &waiters);
96 while (vdo_waitq_has_waiters(&waiters))
97 vdo_waitq_notify_next_waiter(&waiters, callbac
[all...]
H A Ddata-vio.c110 * for a data_vio. If there are no discard waiters, the discard permit is returned to the pool.
138 /* The number of waiters to wake */
141 struct bio_list waiters; member in struct:limiter
144 /* The list of waiters which have their permits */
228 * or waiters while holding the pool's lock.
250 vdo_waitq_init(&lock->waiters);
468 vdo_waitq_enqueue_waiter(&lock_holder->logical.waiters, &data_vio->waiter);
597 struct bio *bio = bio_list_pop(&limiter->waiters);
607 bio_list_merge(&limiter->waiters, &limiter->new_waiters);
627 struct bio_list *waiters local
[all...]
H A Ddedupe.c32 * enters the DEDUPING state, at which point it becomes a shared lock that all the waiters (and any
37 * The existence of lock waiters is a key factor controlling which state the lock transitions to
38 * next. When the lock is new or has waiters, it will always try to reach DEDUPING, and when it
61 * to deduplicate, a new lock is forked and the excess waiters roll over to the new lock (which
274 struct vdo_wait_queue waiters; member in struct:hash_lock
352 vdo_waitq_init(&lock->waiters);
431 return vdo_waiter_as_data_vio(vdo_waitq_dequeue_waiter(&lock->waiters));
541 * wait_on_hash_lock() - Add a data_vio to the lock's queue of waiters.
547 vdo_waitq_enqueue_waiter(&lock->waiters, &data_vio->waiter);
568 * abort_waiter() - waiter_callback_fn function that shunts waiters t
[all...]
H A Ddata-vio.h58 struct vdo_wait_queue waiters; member in struct:lbn_lock
78 /* The queue of waiters for the page this vio is allocating or loading */
79 struct vdo_wait_queue waiters; member in struct:tree_lock
H A Ddump.c149 * Dump out the data_vio waiters on a waitq.
272 dump_vio_waiters(&data_vio->logical.waiters, "lbn");
/linux-master/kernel/locking/
H A Dpercpu-rwsem.c23 init_waitqueue_head(&sem->waiters);
146 spin_lock_irq(&sem->waiters.lock);
154 __add_wait_queue_entry_tail(&sem->waiters, &wq_entry);
156 spin_unlock_irq(&sem->waiters.lock);
278 __wake_up(&sem->waiters, TASK_NORMAL, 1, sem);
H A Drtmutex_common.h26 * @entry: rbtree node to enqueue into the waiters tree
42 * @tree: node to enqueue into the mutex waiters tree
43 * @pi_tree: node to enqueue into the mutex owner waiters tree
112 return !RB_EMPTY_ROOT(&lock->waiters.rb_root);
123 struct rb_node *leftmost = rb_first_cached(&lock->waiters);
130 struct rb_node *leftmost = rb_first_cached(&lock->waiters);
182 lock->waiters = RB_ROOT_CACHED;
H A Dww_mutex.h96 struct rb_node *n = rb_first(&lock->rtmutex.waiters.rb_root);
123 struct rb_node *n = rb_last(&lock->rtmutex.waiters.rb_root);
272 * Among waiters with context, only the first one can have other locks acquired
296 * Wound the lock holder if there are waiters with more important transactions
297 * than the lock holders. Even if multiple waiters may wound the lock holder,
375 * and wake up any waiters so they can recheck.
384 * the WAITERS check is done, otherwise contended waiters might be
385 * missed. The contended waiters will either see ww_ctx == NULL
404 * Uh oh, we raced in fastpath, check if any of the waiters need to
438 * look at waiters befor
[all...]
/linux-master/include/linux/
H A Dpercpu-rwsem.h16 wait_queue_head_t waiters; member in struct:percpu_rw_semaphore
35 .waiters = __WAIT_QUEUE_HEAD_INITIALIZER(name.waiters), \
H A Drtmutex.h25 struct rb_root_cached waiters; member in struct:rt_mutex_base
32 .waiters = RB_ROOT_CACHED, \
53 * @waiters: rbtree root to enqueue waiters in priority order;
/linux-master/drivers/gpu/host1x/
H A Ddebug.c94 unsigned int waiters = 0; local
98 waiters++;
104 if (!show_all && !min && !max && !waiters)
108 "id %u (%s) min %d max %d (%d waiters)\n",
109 i, m->syncpt[i].name, min, max, waiters);
/linux-master/kernel/futex/
H A Dfutex.h116 atomic_t waiters; member in struct:futex_hash_bucket
265 atomic_inc(&hb->waiters);
280 atomic_dec(&hb->waiters);
291 return atomic_read(&hb->waiters);
H A Dsyscalls.c184 * @futexv: Kernel side list of waiters to be filled
269 * @waiters: List of futexes to wait on
290 SYSCALL_DEFINE5(futex_waitv, struct futex_waitv __user *, waiters,
302 if (!nr_futexes || nr_futexes > FUTEX_WAITV_MAX || !waiters)
314 ret = futex_parse_waitv(futexv, waiters, nr_futexes, futex_wake_mark,
405 * @waiters: array describing the source and destination futex
415 struct futex_waitv __user *, waiters,
427 if (!waiters)
430 ret = futex_parse_waitv(futexes, waiters, 2, futex_wake_mark, NULL);
/linux-master/drivers/md/persistent-data/
H A Ddm-block-manager.c47 struct list_head waiters; member in struct:block_lock
155 list_for_each_entry_safe(w, tmp, &lock->waiters, list) {
181 INIT_LIST_HEAD(&lock->waiters);
190 list_empty(&lock->waiters);
216 list_add_tail(&w.list, &lock->waiters);
251 if (!list_empty(&lock->waiters))
268 if (lock->count == 0 && list_empty(&lock->waiters)) {
283 list_add(&w.list, &lock->waiters);
297 if (!list_empty(&lock->waiters))
/linux-master/drivers/greybus/
H A Dgreybus_trace.h102 __field(int, waiters)
112 __entry->waiters = atomic_read(&operation->waiters);
116 TP_printk("id=%04x type=0x%02x cport_id=%04x flags=0x%lx active=%d waiters=%d errno=%d",
118 __entry->active, __entry->waiters, __entry->errno)
H A Doperation.c90 if (atomic_read(&operation->waiters))
554 atomic_set(&operation->waiters, 0);
1082 atomic_inc(&operation->waiters);
1085 atomic_dec(&operation->waiters);
1109 atomic_inc(&operation->waiters);
1112 atomic_dec(&operation->waiters);
/linux-master/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_events.c265 /* Wake up pending waiters. They will return failure */
830 * @event_waiters: Array of event waiters, one per event
919 static void free_waiters(uint32_t num_events, struct kfd_event_waiter *waiters, argument
925 if (waiters[i].event) {
926 spin_lock(&waiters[i].event->lock);
927 remove_wait_queue(&waiters[i].event->wq,
928 &waiters[i].wait);
929 if (undo_auto_reset && waiters[i].activated &&
930 waiters[i].event && waiters[
[all...]
/linux-master/drivers/gpu/drm/imagination/
H A Dpvr_ccb.c461 /** @node: Node used to insert the fence in the pvr_device::kccb::waiters list. */
466 * pvr_kccb_wake_up_waiters() - Check the KCCB waiters
487 list_for_each_entry_safe(fence, tmp_fence, &pvr_dev->kccb.waiters, node) {
509 WARN_ON(!list_empty(&pvr_dev->kccb.waiters));
525 INIT_LIST_HEAD(&pvr_dev->kccb.waiters);
578 * initializes the fence object and queue it to the waiters list.
603 list_add_tail(&fence->node, &pvr_dev->kccb.waiters);
H A Dpvr_device.h234 /** @kccb.rtn_q: Waitqueue for KCCB command return waiters. */
254 * @kccb.waiters: List of KCCB slot waiters.
256 struct list_head waiters; member in struct:pvr_device::__anon696
/linux-master/drivers/tee/optee/
H A Dcall.c45 INIT_LIST_HEAD(&cq->waiters);
82 list_add_tail(&w->list_node, &cq->waiters);
124 /* Move to end of list to get out of the way for other waiters */
127 list_add_tail(&w->list_node, &cq->waiters);
137 list_for_each_entry(w, &cq->waiters, list_node) {
144 list_for_each_entry(w, &cq->waiters, list_node) {
/linux-master/include/linux/greybus/
H A Doperation.h108 atomic_t waiters; member in struct:gb_operation
/linux-master/include/trace/events/
H A Dmmflags.h102 DEF_PAGEFLAG_NAME(waiters), \

Completed in 439 milliseconds

12