Home
last modified time | relevance | path

Searched refs:waiters (Results 1 – 25 of 32) sorted by relevance

12

/linux/drivers/md/dm-vdo/
H A Dwait-queue.c90 struct vdo_wait_queue waiters; in vdo_waitq_notify_all_waiters() local
92 vdo_waitq_init(&waiters); in vdo_waitq_notify_all_waiters()
93 vdo_waitq_transfer_all_waiters(waitq, &waiters); in vdo_waitq_notify_all_waiters()
96 while (vdo_waitq_has_waiters(&waiters)) in vdo_waitq_notify_all_waiters()
97 vdo_waitq_notify_next_waiter(&waiters, callback, context); in vdo_waitq_notify_all_waiters()
H A Ddump.c272 dump_vio_waiters(&data_vio->logical.waiters, "lbn"); in dump_data_vio()
/linux/drivers/gpu/drm/radeon/
H A Dradeon_semaphore.c50 (*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()
H A Dradeon_trace.h176 __field(signed, waiters)
182 __entry->waiters = sem->waiters;
187 __entry->waiters, __entry->gpu_addr)
/linux/Documentation/translations/zh_CN/userspace-api/
H A Dfutex2.rst30 futex_waitv(struct futex_waitv *waiters, unsigned int nr_futexes,
43 ``waiters`` 传递。如果 ``waiters`` 或任何的 ``uaddr`` 地址无效,将返回 ``-EFAULT`` 。
52 对于每个 ``waiters`` 数组中的项,在 ``uaddr`` 的当前值会和 ``val`` 比较。如果
/linux/Documentation/locking/
H A Drt-mutex.rst32 The enqueueing of the waiters into the rtmutex waiter tree is done in
35 priority waiters tree. This tree too queues in priority order. Whenever
42 without waiters. The optimized fastpath operations require cmpxchg
50 keep track of the "lock has waiters" state:
56 NULL 1 lock is free and has waiters and the top waiter
59 taskpointer 1 lock is held and has waiters [2]_
71 waiters. This can happen when grabbing the lock in the slow path.
H A Drt-mutex-design.rst107 place the task in the waiters rbtree of a mutex as well as the
113 waiters
199 Every mutex keeps track of all the waiters that are blocked on itself. The
200 mutex has a rbtree to store these waiters by priority. This tree is protected
209 a tree of all top waiters of the mutexes that are owned by the process.
210 Note that this tree only holds the top waiters and not all waiters that are
309 flag. It's set whenever there are waiters on a mutex.
358 the pi_waiters of a task holds an order by priority of all the top waiters
410 in the pi_waiters and waiters trees that the task is blocked on. This function
434 the task on the waiters tree of the mutex, and if need be, the pi_waiters
[all …]
H A Dfutex-requeue-pi.rst7 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
H A Dww-mutex-design.rst344 (1) Waiters with an acquire context are sorted by stamp order; waiters
346 (2) For Wait-Die, among waiters with contexts, only the first one can have
348 may come after other waiters without contexts in the list.
H A Dpi-futex.rst111 pi_state->rt_mutex and thus wakes up any potential waiters.
H A Dlockdep-design.rst438 task A will make progress, because writer waiters don't block recursive readers,
451 writer waiters)
470 *waiters*, for example::
/linux/drivers/md/persistent-data/
H A Ddm-block-manager.c47 struct list_head waiters; member
155 list_for_each_entry_safe(w, tmp, &lock->waiters, list) { in __wake_many()
181 INIT_LIST_HEAD(&lock->waiters); in bl_init()
190 list_empty(&lock->waiters); in __available_for_read()
216 list_add_tail(&w.list, &lock->waiters); in bl_down_read()
251 if (!list_empty(&lock->waiters)) in bl_up_read()
268 if (lock->count == 0 && list_empty(&lock->waiters)) { in bl_down_write()
283 list_add(&w.list, &lock->waiters); in bl_down_write()
297 if (!list_empty(&lock->waiters)) in bl_up_write()
/linux/tools/testing/selftests/futex/include/
H A Dfutex2test.h63 * @waiters: Array of waiters
64 * @nr_waiters: Length of waiters array
68 static inline int futex_waitv(volatile struct futex_waitv *waiters, unsigned long nr_waiters, in futex_waitv()
76 return syscall(__NR_futex_waitv, waiters, nr_waiters, flags, &ts, clockid);
66 futex_waitv(volatile struct futex_waitv * waiters,unsigned long nr_waiters,unsigned long flags,struct timespec * timo,clockid_t clockid) futex_waitv() argument
/linux/Documentation/userspace-api/
H A Dfutex2.rst25 futex_waitv(struct futex_waitv *waiters, unsigned int nr_futexes,
39 pointer for the first item of the array is passed as ``waiters``. An invalid
40 address for ``waiters`` or for any ``uaddr`` returns ``-EFAULT``.
52 For each entry in ``waiters`` array, the current value at ``uaddr`` is compared
/linux/drivers/greybus/
H A Dgreybus_trace.h102 __field(int, waiters)
112 __entry->waiters = atomic_read(&operation->waiters);
118 __entry->active, __entry->waiters, __entry->errno)
H A Doperation.c90 if (atomic_read(&operation->waiters)) in gb_operation_put_active()
555 atomic_set(&operation->waiters, 0); in gb_operation_create_common()
1083 atomic_inc(&operation->waiters); in gb_operation_cancel()
1086 atomic_dec(&operation->waiters); in gb_operation_cancel()
1110 atomic_inc(&operation->waiters); in gb_operation_cancel_incoming()
1113 atomic_dec(&operation->waiters); in gb_operation_cancel_incoming()
/linux/Documentation/scheduler/
H A Dcompletion.rst247 achieved calls complete() to signal exactly one of the waiters that it can
252 ... or calls complete_all() to signal all current and future waiters::
262 of waiters to continue - each call to complete() will simply increment the
287 completions that were not yet consumed by waiters (implying that there are
288 waiters) and true otherwise::
/linux/include/linux/greybus/
H A Doperation.h108 atomic_t waiters; member
/linux/Documentation/translations/zh_CN/scheduler/
H A Dcompletion.rst223 ... or calls complete_all() to signal all current and future waiters::
/linux/tools/testing/selftests/filesystems/epoll/
H A Depoll_wakeup_test.c3162 int waiters; member
3192 __atomic_fetch_add(&ctx->waiters, 1, __ATOMIC_ACQUIRE); in epoll60_wait_thread()
3206 __atomic_fetch_sub(&ctx->waiters, 1, __ATOMIC_RELEASE); in epoll60_wait_thread()
3226 return __atomic_load_n(&ctx->waiters, __ATOMIC_ACQUIRE); in count_waiters()
3232 pthread_t waiters[ARRAY_SIZE(ctx.evfd)]; in TEST() local
3252 for (i = 0; i < ARRAY_SIZE(waiters); i++) in TEST()
3253 ASSERT_EQ(pthread_create(&waiters[i], NULL, in TEST()
3281 /* Busy loop for 1s and wait for all waiters to wake up */ in TEST()
3289 /* Stop waiters */ in TEST()
3290 for (i = 0; i < ARRAY_SIZE(waiters); in TEST()
[all...]
/linux/fs/xfs/
H A Dxfs_log.c104 INIT_LIST_HEAD(&head->waiters); in xlog_grant_head_init()
150 list_for_each_entry(tic, &head->waiters, t_queue) in xlog_grant_head_wake_all()
181 list_for_each_entry(tic, &head->waiters, t_queue) { in xlog_grant_head_wake()
202 list_add_tail(&tic->t_queue, &head->waiters); in xlog_grant_head_wait()
269 if (!list_empty_careful(&head->waiters)) { in xlog_grant_head_check()
1055 if (!list_empty_careful(&log->l_write_head.waiters)) { in xfs_log_space_wake()
1064 if (!list_empty_careful(&log->l_reserve_head.waiters)) { in xfs_log_space_wake()
/linux/include/trace/events/
H A Dmmflags.h136 DEF_PAGEFLAG_NAME(waiters), \
/linux/drivers/md/
H A Draid1.c77 list_add_tail(&si->list_node, &head_si->waiters); in check_and_add_serial()
98 INIT_LIST_HEAD(&si->waiters); in wait_for_serialization()
126 if (!list_empty(&si->waiters)) { in remove_serial()
127 list_for_each_entry(iter_si, &si->waiters, list_node) { in remove_serial()
130 list_splice_init(&si->waiters, &iter_si->waiters); in remove_serial()
H A Dmd.h388 struct list_head waiters; member
/linux/tools/perf/Documentation/
H A Dperf-lock.txt223 the owner, the waiters will also be delayed as well. This is working

12