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

12

/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/gpu/drm/radeon/
H A Dradeon.h554 signed waiters; member in struct:radeon_semaphore
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/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/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/md/dm-vdo/
H A Dblock-map.c409 "VDO Page must not have waiters");
644 * Just take all waiters off the waitq so the zone can drain.
1746 vdo_waitq_notify_all_waiters(&data_vio->tree_lock.waiters,
1844 /* Release our claim to the load and wake any waiters */
1846 vdo_waitq_notify_all_waiters(&tree_lock->waiters, continue_load_for_waiter, page);
1917 vdo_waitq_enqueue_waiter(&lock_holder->waiters, &data_vio->waiter);
2064 * Record the allocation in the tree and wake any waiters now that the write lock has been
2116 /* Release our claim to the allocation and wake any waiters */
2118 vdo_waitq_notify_all_waiters(&tree_lock->waiters,
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 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 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 Ddump.c149 * Dump out the data_vio waiters on a waitq.
272 dump_vio_waiters(&data_vio->logical.waiters, "lbn");
H A Dslab-depot.c61 * must_make_entries_to_flush() - Check whether there are entry waiters which should delay a flush.
64 * Return: true if there are no entry waiters, or if the slab is unrecovered.
243 * notify_summary_waiters() - Wake all the waiters in a given queue.
807 * There are no entries at the moment, but there are some waiters, so defer
1880 /* If there are no waiters, and we are flushing or saving, commit the tail block. */
2672 bool notify = vdo_waitq_has_waiters(&scrubber->waiters);
2715 * We can't notify waiters until after we've finished draining or they'll just requeue.
2716 * Fortunately if there were waiters, we can't have been freed yet.
2719 vdo_waitq_notify_all_waiters(&scrubber->waiters, NULL, NULL);
2943 vdo_waitq_notify_all_waiters(&scrubber->waiters, NUL
[all...]
H A Dslab-depot.h280 struct vdo_wait_queue waiters; member in struct:slab_scrubber
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...]
/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/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) {
H A Doptee_private.h45 * @list_node Reference in waiters list
58 * @waiters List of threads waiting to enter OP-TEE
66 struct list_head waiters; member in struct:optee_call_queue
/linux-master/fs/xfs/
H A Dxfs_log.c204 INIT_LIST_HEAD(&head->waiters);
215 list_for_each_entry(tic, &head->waiters, t_queue)
247 list_for_each_entry(tic, &head->waiters, t_queue) {
294 list_add_tail(&tic->t_queue, &head->waiters);
325 * Once a ticket gets put onto head->waiters, it will only return after the
333 * As tickets are only ever moved on and off head->waiters under head->lock, we
336 * head->waiters because the t_queue list head will be empty and we hold the
352 * If there are other waiters on the queue then give them a chance at
353 * logspace before us. Wake up the first waiters, if we do not wake
354 * up all the waiters the
[all...]
H A Dxfs_log_priv.h389 struct list_head waiters; member in struct:xlog_grant_head
H A Dxfs_trace.h1243 __entry->reserveq = list_empty(&log->l_reserve_head.waiters);
1244 __entry->writeq = list_empty(&log->l_write_head.waiters);
/linux-master/include/linux/greybus/
H A Doperation.h108 atomic_t waiters; member in struct:gb_operation
/linux-master/include/linux/
H A Dpage-flags.h108 PG_waiters, /* Page has waiters, check its waitqueue. Must be bit #7 and in the same byte as "PG_locked" */
514 FOLIO_FLAG(waiters, FOLIO_HEAD_PAGE)

Completed in 521 milliseconds

12