/Linux-v4.19/drivers/gpu/drm/i915/selftests/ |
D | intel_breadcrumbs.c | 33 const struct intel_wait *waiters, in check_rbtree() argument 40 if (&b->irq_wait->node != rb_first(&b->waiters)) { in check_rbtree() 46 for (rb = rb_first(&b->waiters); rb; rb = rb_next(rb)) { in check_rbtree() 48 int idx = w - waiters; in check_rbtree() 70 const struct intel_wait *waiters, in check_completion() argument 76 if (intel_wait_complete(&waiters[n]) != !!test_bit(n, bitmap)) in check_completion() 80 n, waiters[n].seqno, in check_completion() 81 intel_wait_complete(&waiters[n]) ? "complete" : "active", in check_completion() 98 if (!RB_EMPTY_ROOT(&b->waiters)) { in check_rbtree_empty() 111 struct intel_wait *waiters; in igt_random_insert_remove() local [all …]
|
/Linux-v4.19/drivers/gpu/drm/radeon/ |
D | radeon_semaphore.c | 50 (*semaphore)->waiters = 0; in radeon_semaphore_create() 66 --semaphore->waiters; in radeon_semaphore_emit_signal() 83 ++semaphore->waiters; in radeon_semaphore_emit_wait() 99 if ((*semaphore)->waiters > 0) { in radeon_semaphore_free()
|
D | radeon_trace.h | 176 __field(signed, waiters) 182 __entry->waiters = sem->waiters; 187 __entry->waiters, __entry->gpu_addr)
|
/Linux-v4.19/Documentation/locking/ |
D | rt-mutex.txt | 31 The enqueueing of the waiters into the rtmutex waiter tree is done in 34 priority waiters tree. This tree too queues in priority order. Whenever 41 without waiters. The optimized fastpath operations require cmpxchg 49 keep track of the "lock has waiters" state. 53 NULL 1 lock is free and has waiters and the top waiter 56 taskpointer 1 lock is held and has waiters** 67 waiters. This can happen when grabbing the lock in the slow path.
|
D | rt-mutex-design.txt | 101 place the task in the waiters rbtree of a mutex as well as the 107 waiters - A list of processes that are blocked on a mutex. 189 Every mutex keeps track of all the waiters that are blocked on itself. The 190 mutex has a rbtree to store these waiters by priority. This tree is protected 199 a tree of all top waiters of the mutexes that are owned by the process. 200 Note that this tree only holds the top waiters and not all waiters that are 299 flag. It's set whenever there are waiters on a mutex. 348 the pi_waiters of a task holds an order by priority of all the top waiters 399 in the pi_waiters and waiters trees that the task is blocked on. This function 423 the task on the waiters tree of the mutex, and if need be, the pi_waiters [all …]
|
/Linux-v4.19/drivers/md/persistent-data/ |
D | dm-block-manager.c | 43 struct list_head waiters; member 154 list_for_each_entry_safe(w, tmp, &lock->waiters, list) { in __wake_many() 180 INIT_LIST_HEAD(&lock->waiters); in bl_init() 189 list_empty(&lock->waiters); in __available_for_read() 215 list_add_tail(&w.list, &lock->waiters); in bl_down_read() 250 if (!list_empty(&lock->waiters)) in bl_up_read() 267 if (lock->count == 0 && list_empty(&lock->waiters)) { in bl_down_write() 282 list_add(&w.list, &lock->waiters); in bl_down_write() 296 if (!list_empty(&lock->waiters)) in bl_up_write()
|
/Linux-v4.19/drivers/gpu/drm/i915/ |
D | intel_breadcrumbs.c | 258 rbtree_postorder_for_each_entry_safe(wait, n, &b->waiters, node) { in intel_engine_disarm_breadcrumbs() 264 b->waiters = RB_ROOT; in intel_engine_disarm_breadcrumbs() 364 rb_erase(&wait->node, &b->waiters); in __intel_breadcrumbs_finish() 428 p = &b->waiters.rb_node; in __intel_engine_add_wait() 455 rb_insert_color(&wait->node, &b->waiters); in __intel_engine_add_wait() 493 GEM_BUG_ON(rb_first(&b->waiters) != &b->irq_wait->node); in __intel_engine_add_wait() 577 GEM_BUG_ON(rb_first(&b->waiters) == &wait->node); in __intel_engine_remove_wait() 581 rb_erase(&wait->node, &b->waiters); in __intel_engine_remove_wait() 586 GEM_BUG_ON(rb_first(&b->waiters) != in __intel_engine_remove_wait() 887 WARN_ON(!RB_EMPTY_ROOT(&b->waiters)); in intel_engine_fini_breadcrumbs()
|
D | i915_gpu_error.c | 792 if (IS_ERR(ee->waiters)) { in i915_error_state_to_str() 801 ee->waiters[j].seqno, in i915_error_state_to_str() 802 ee->waiters[j].comm, in i915_error_state_to_str() 803 ee->waiters[j].pid); in i915_error_state_to_str() 930 if (!IS_ERR_OR_NULL(ee->waiters)) in __i915_gpu_state_free() 931 kfree(ee->waiters); in __i915_gpu_state_free() 1144 ee->waiters = NULL; in error_record_engine_waiters() 1146 if (RB_EMPTY_ROOT(&b->waiters)) in error_record_engine_waiters() 1150 ee->waiters = ERR_PTR(-EDEADLK); in error_record_engine_waiters() 1155 for (rb = rb_first(&b->waiters); rb != NULL; rb = rb_next(rb)) in error_record_engine_waiters() [all …]
|
D | i915_trace.h | 784 TP_PROTO(struct intel_engine_cs *engine, bool waiters), 785 TP_ARGS(engine, waiters), 792 __field(bool, waiters) 800 __entry->waiters = waiters; 805 __entry->seqno, __entry->waiters)
|
D | i915_gpu_error.h | 167 } *waiters; member
|
/Linux-v4.19/include/linux/ |
D | rtmutex.h | 32 struct rb_root_cached waiters; member 87 , .waiters = RB_ROOT_CACHED \
|
D | page-flags.h | 273 PAGEFLAG(Waiters, waiters, PF_ONLY_HEAD) __CLEARPAGEFLAG(Waiters, waiters, PF_ONLY_HEAD)
|
/Linux-v4.19/kernel/locking/ |
D | rtmutex_common.h | 49 return !RB_EMPTY_ROOT(&lock->waiters.rb_root); in rt_mutex_has_waiters() 55 struct rb_node *leftmost = rb_first_cached(&lock->waiters); in rt_mutex_top_waiter()
|
D | rtmutex.c | 274 struct rb_node **link = &lock->waiters.rb_root.rb_node; in rt_mutex_enqueue() 291 rb_insert_color_cached(&waiter->tree_entry, &lock->waiters, leftmost); in rt_mutex_enqueue() 300 rb_erase_cached(&waiter->tree_entry, &lock->waiters); in rt_mutex_dequeue() 1681 lock->waiters = RB_ROOT_CACHED; in __rt_mutex_init()
|
/Linux-v4.19/drivers/staging/greybus/ |
D | greybus_trace.h | 102 __field(int, waiters) 112 __entry->waiters = atomic_read(&operation->waiters); 118 __entry->active, __entry->waiters, __entry->errno)
|
D | operation.c | 90 if (atomic_read(&operation->waiters)) in gb_operation_put_active() 553 atomic_set(&operation->waiters, 0); in gb_operation_create_common() 1080 atomic_inc(&operation->waiters); in gb_operation_cancel() 1083 atomic_dec(&operation->waiters); in gb_operation_cancel() 1107 atomic_inc(&operation->waiters); in gb_operation_cancel_incoming() 1110 atomic_dec(&operation->waiters); in gb_operation_cancel_incoming()
|
D | operation.h | 103 atomic_t waiters; member
|
/Linux-v4.19/Documentation/ |
D | futex-requeue-pi.txt | 7 left without an owner if it has waiters; doing so would break the PI 48 has waiters. Note that pthread_cond_wait() attempts to lock the 50 underlying rt_mutex with waiters, and no owner, breaking the 89 In order to ensure the rt_mutex has an owner if it has waiters, it
|
/Linux-v4.19/Documentation/scheduler/ |
D | completion.txt | 202 achieved calls complete() to signal exactly one of the waiters that it can 207 or calls complete_all() to signal all current and future waiters. 217 of waiters to continue - each call to complete() will simply increment the 241 completions that were not yet consumed by waiters (implying that there are 242 waiters) and true otherwise;
|
/Linux-v4.19/drivers/gpu/drm/amd/amdkfd/ |
D | kfd_events.c | 653 static void free_waiters(uint32_t num_events, struct kfd_event_waiter *waiters) in free_waiters() argument 658 if (waiters[i].event) in free_waiters() 659 remove_wait_queue(&waiters[i].event->wq, in free_waiters() 660 &waiters[i].wait); in free_waiters() 662 kfree(waiters); in free_waiters()
|
/Linux-v4.19/drivers/tee/optee/ |
D | call.c | 51 list_add_tail(&w->list_node, &cq->waiters); in optee_cq_wait_init() 66 list_add_tail(&w->list_node, &cq->waiters); in optee_cq_wait_for_completion() 75 list_for_each_entry(w, &cq->waiters, list_node) { in optee_cq_complete_one()
|
D | optee_private.h | 42 struct list_head waiters; member
|
/Linux-v4.19/fs/xfs/ |
D | xfs_log_priv.h | 338 struct list_head waiters; member
|
D | xfs_log.c | 187 INIT_LIST_HEAD(&head->waiters); in xlog_grant_head_init() 198 list_for_each_entry(tic, &head->waiters, t_queue) in xlog_grant_head_wake_all() 229 list_for_each_entry(tic, &head->waiters, t_queue) { in xlog_grant_head_wake() 250 list_add_tail(&tic->t_queue, &head->waiters); in xlog_grant_head_wait() 315 if (!list_empty_careful(&head->waiters)) { in xlog_grant_head_check() 1075 if (!list_empty_careful(&log->l_write_head.waiters)) { in xfs_log_space_wake() 1084 if (!list_empty_careful(&log->l_reserve_head.waiters)) { in xfs_log_space_wake()
|
/Linux-v4.19/kernel/ |
D | futex.c | 263 atomic_t waiters; member 358 atomic_inc(&hb->waiters); in hb_waiters_inc() 373 atomic_dec(&hb->waiters); in hb_waiters_dec() 380 return atomic_read(&hb->waiters); in hb_waiters_pending() 3633 atomic_set(&futex_queues[i].waiters, 0); in futex_init()
|