| /kernel/linux/linux-5.10/include/linux/ |
| D | ww_mutex.h | 98 * ww_acquire_init - initialize a w/w acquire context 99 * @ctx: w/w acquire context to initialize 102 * Initializes an context to acquire multiple mutexes of the given w/w class. 114 * Nesting of acquire contexts for _different_ w/w classes is possible, subject 117 * An acquire context must be released with ww_acquire_fini by the same task 147 * ww_acquire_done - marks the end of the acquire phase 148 * @ctx: the acquire context 150 * Marks the end of the acquire phase, any further w/w mutex lock calls using 154 * code and clearly designated the acquire phase from actually using the locked 168 * ww_acquire_fini - releases a w/w acquire context [all …]
|
| D | atomic.h | 16 * - Acquire: Provides ACQUIRE semantics, _acquire suffix. 20 * For compound atomics performing both a load and a store, ACQUIRE 25 * See Documentation/memory-barriers.txt for ACQUIRE/RELEASE definitions. 35 * The idea here is to build acquire/release variants by adding explicit
|
| /kernel/linux/linux-4.19/include/linux/ |
| D | ww_mutex.h | 106 * ww_acquire_init - initialize a w/w acquire context 107 * @ctx: w/w acquire context to initialize 110 * Initializes an context to acquire multiple mutexes of the given w/w class. 122 * Nesting of acquire contexts for _different_ w/w classes is possible, subject 125 * An acquire context must be released with ww_acquire_fini by the same task 155 * ww_acquire_done - marks the end of the acquire phase 156 * @ctx: the acquire context 158 * Marks the end of the acquire phase, any further w/w mutex lock calls using 162 * code and clearly designated the acquire phase from actually using the locked 176 * ww_acquire_fini - releases a w/w acquire context [all …]
|
| /kernel/linux/linux-5.10/tools/memory-model/ |
| D | linux-kernel.def | 12 // Release Acquire and friends 14 smp_load_acquire(X) __load{acquire}(*X) 33 xchg_acquire(X,V) __xchg{acquire}(X,V) 36 cmpxchg_acquire(X,V,W) __cmpxchg{acquire}(X,V,W) 70 atomic_add_return_acquire(V,X) __atomic_op_return{acquire}(X,+,V) 74 atomic_fetch_add_acquire(V,X) __atomic_fetch_op{acquire}(X,+,V) 79 atomic_inc_return_acquire(X) __atomic_op_return{acquire}(X,+,1) 83 atomic_fetch_inc_acquire(X) __atomic_fetch_op{acquire}(X,+,1) 88 atomic_sub_return_acquire(V,X) __atomic_op_return{acquire}(X,-,V) 92 atomic_fetch_sub_acquire(V,X) __atomic_fetch_op{acquire}(X,-,V) [all …]
|
| /kernel/linux/linux-4.19/tools/memory-model/ |
| D | linux-kernel.def | 12 // Release Acquire and friends 14 smp_load_acquire(X) __load{acquire}(*X) 31 xchg_acquire(X,V) __xchg{acquire}(X,V) 34 cmpxchg_acquire(X,V,W) __cmpxchg{acquire}(X,V,W) 62 atomic_add_return_acquire(V,X) __atomic_op_return{acquire}(X,+,V) 66 atomic_fetch_add_acquire(V,X) __atomic_fetch_op{acquire}(X,+,V) 71 atomic_inc_return_acquire(X) __atomic_op_return{acquire}(X,+,1) 75 atomic_fetch_inc_acquire(X) __atomic_fetch_op{acquire}(X,+,1) 80 atomic_sub_return_acquire(V,X) __atomic_op_return{acquire}(X,-,V) 84 atomic_fetch_sub_acquire(V,X) __atomic_fetch_op{acquire}(X,-,V) [all …]
|
| /kernel/linux/linux-4.19/kernel/locking/ |
| D | semaphore.c | 24 * The ->count variable represents how many more tasks can acquire this 44 * down - acquire the semaphore 47 * Acquires the semaphore. If no more tasks are allowed to acquire the 68 * down_interruptible - acquire the semaphore unless interrupted 71 * Attempts to acquire the semaphore. If no more tasks are allowed to 72 * acquire the semaphore, calling this function will put the task to sleep. 93 * down_killable - acquire the semaphore unless killed 96 * Attempts to acquire the semaphore. If no more tasks are allowed to 97 * acquire the semaphore, calling this function will put the task to sleep. 119 * down_trylock - try to acquire the semaphore, without waiting [all …]
|
| D | mcs_spinlock.h | 9 * to acquire the lock spinning on a local variable. 26 * Using smp_cond_load_acquire() provides the acquire semantics 58 * In order to acquire the lock, the caller should declare a local node and 76 * observation of @node. And to provide the ACQUIRE ordering associated in mcs_spin_lock() 84 * However, since this thread can immediately acquire the lock in mcs_spin_lock() 99 * was used to acquire the lock.
|
| D | qrwlock.c | 27 * queued_read_lock_slowpath - acquire read lock of a queue rwlock 39 * so spin with ACQUIRE semantics until the lock is available in queued_read_lock_slowpath() 54 * The ACQUIRE semantics of the following spinning code ensure in queued_read_lock_slowpath() 68 * queued_write_lock_slowpath - acquire write lock of a queue rwlock 76 /* Try to acquire the lock directly if no reader is present */ in queued_write_lock_slowpath()
|
| /kernel/linux/linux-5.10/kernel/locking/ |
| D | semaphore.c | 23 * The ->count variable represents how many more tasks can acquire this 43 * down - acquire the semaphore 46 * Acquires the semaphore. If no more tasks are allowed to acquire the 67 * down_interruptible - acquire the semaphore unless interrupted 70 * Attempts to acquire the semaphore. If no more tasks are allowed to 71 * acquire the semaphore, calling this function will put the task to sleep. 92 * down_killable - acquire the semaphore unless killed 95 * Attempts to acquire the semaphore. If no more tasks are allowed to 96 * acquire the semaphore, calling this function will put the task to sleep. 118 * down_trylock - try to acquire the semaphore, without waiting [all …]
|
| D | mcs_spinlock.h | 9 * to acquire the lock spinning on a local variable. 26 * Using smp_cond_load_acquire() provides the acquire semantics 58 * In order to acquire the lock, the caller should declare a local node and 76 * observation of @node. And to provide the ACQUIRE ordering associated in mcs_spin_lock() 84 * However, since this thread can immediately acquire the lock in mcs_spin_lock() 99 * was used to acquire the lock.
|
| D | qrwlock.c | 18 * queued_read_lock_slowpath - acquire read lock of a queue rwlock 30 * so spin with ACQUIRE semantics until the lock is available in queued_read_lock_slowpath() 45 * The ACQUIRE semantics of the following spinning code ensure in queued_read_lock_slowpath() 59 * queued_write_lock_slowpath - acquire write lock of a queue rwlock 69 /* Try to acquire the lock directly if no reader is present */ in queued_write_lock_slowpath()
|
| /kernel/linux/linux-4.19/tools/memory-model/litmus-tests/ |
| D | README | 44 and load-acquire replaced with READ_ONCE(). 47 Can a release-acquire chain order a prior store against 56 Does a release-acquire pair suffice for the load-buffering 62 and load-acquire replaced with READ_ONCE(). 69 in one process, and use an acquire load followed by a pair of 74 acquire load followed by a pair of spin_is_locked() calls 85 As below, but with a release-acquire chain. 124 As below, but without the smp_wmb() and acquire load. 127 Can a smp_wmb(), instead of a release, and an acquire order 147 Is the ordering provided by a release-acquire chain sufficient [all …]
|
| /kernel/linux/linux-5.10/tools/memory-model/litmus-tests/ |
| D | README | 46 and load-acquire replaced with READ_ONCE(). 49 Can a release-acquire chain order a prior store against 58 Does a release-acquire pair suffice for the load-buffering 64 and load-acquire replaced with READ_ONCE(). 71 in one process, and use an acquire load followed by a pair of 76 acquire load followed by a pair of spin_is_locked() calls 87 As below, but with a release-acquire chain. 126 As below, but without the smp_wmb() and acquire load. 129 Can a smp_wmb(), instead of a release, and an acquire order 149 Is the ordering provided by a release-acquire chain sufficient [all …]
|
| /kernel/linux/linux-5.10/Documentation/sound/cards/ |
| D | img-spdif-in.rst | 19 * name='SPDIF In Multi Frequency Acquire',index=0 20 * name='SPDIF In Multi Frequency Acquire',index=1 21 * name='SPDIF In Multi Frequency Acquire',index=2 22 * name='SPDIF In Multi Frequency Acquire',index=3 47 * name='SPDIF In Lock Acquire Threshold',index=0
|
| /kernel/linux/linux-4.19/Documentation/sound/cards/ |
| D | img-spdif-in.rst | 19 * name='SPDIF In Multi Frequency Acquire',index=0 20 * name='SPDIF In Multi Frequency Acquire',index=1 21 * name='SPDIF In Multi Frequency Acquire',index=2 22 * name='SPDIF In Multi Frequency Acquire',index=3 47 * name='SPDIF In Lock Acquire Threshold',index=0
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/ |
| D | drm_modeset_lock.c | 33 * to use &ww_mutex and acquire-contexts to avoid deadlocks. But because 35 * of extra utility/tracking out of our acquire-ctx. This is provided 185 * drm_modeset_acquire_init - initialize acquire context 186 * @ctx: the acquire context 206 * drm_modeset_acquire_fini - cleanup acquire context 207 * @ctx: the acquire context 217 * @ctx: the acquire context 219 * Drop all locks currently held against this acquire context. 279 * @ctx: the acquire context 318 * @ctx: acquire ctx [all …]
|
| /kernel/linux/linux-5.10/include/drm/ |
| D | drm_modeset_lock.h | 33 * @ww_ctx: base acquire ctx 39 * Each thread competing for a set of locks must use one acquire 143 * DRM_MODESET_LOCK_ALL_BEGIN - Helper to acquire modeset locks 145 * @ctx: local modeset acquire context, will be dereferenced 158 * Drivers can acquire additional modeset locks. If any lock acquisition 178 * @ctx: local modeset acquire context, will be dereferenced 189 * successfully acquire the locks, ret will be whatever your code sets it to. If 190 * there is a deadlock or other failure with acquire or backoff, ret will be set
|
| /kernel/linux/linux-4.19/Documentation/driver-api/soundwire/ |
| D | locking.rst | 42 a. Acquire Message lock. 57 <-------------------------------+ a. Acquire Message lock 70 1. Acquire lock for Bus instance associated with Master 1. 74 a. Acquire Message lock. 91 <-------------------------------+ 1. Acquire bus lock 96 <-------------------------------+ a. Acquire Message lock
|
| /kernel/linux/linux-5.10/Documentation/driver-api/soundwire/ |
| D | locking.rst | 42 a. Acquire Message lock. 59 <-------------------------------+ a. Acquire Message lock 72 1. Acquire lock for Bus instance associated with Master 1. 76 a. Acquire Message lock. 93 <-------------------------------+ 1. Acquire bus lock 98 <-------------------------------+ a. Acquire Message lock
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/ |
| D | drm_modeset_lock.c | 34 * to use &ww_mutex and acquire-contexts to avoid deadlocks. But because 36 * of extra utility/tracking out of our acquire-ctx. This is provided 190 * drm_modeset_acquire_init - initialize acquire context 191 * @ctx: the acquire context 211 * drm_modeset_acquire_fini - cleanup acquire context 212 * @ctx: the acquire context 222 * @ctx: the acquire context 224 * Drop all locks currently held against this acquire context. 284 * @ctx: the acquire context 323 * @ctx: acquire ctx [all …]
|
| /kernel/linux/linux-5.10/Documentation/locking/ |
| D | ww-mutex-design.rst | 63 Acquire context: To ensure eventual forward progress it is important the a task 64 trying to acquire locks doesn't grab a new reservation id, but keeps the one it 66 acquire context. Furthermore the acquire context keeps track of debugging state 67 to catch w/w mutex interface abuse. An acquire context is representing a 71 w/w mutexes, since it is required to initialize the acquire context. The lock 74 Furthermore there are three different class of w/w lock acquire functions: 99 * Functions to only acquire a single w/w mutex, which results in the exact same 103 Again this is not strictly required. But often you only want to acquire a 104 single lock in which case it's pointless to set up an acquire context (and so 119 Three different ways to acquire locks within the same w/w class. Common [all …]
|
| D | futex-requeue-pi.rst | 91 to be able to acquire the rt_mutex before returning to user space. 93 acquire the rt_mutex as it would open a race window between the 99 allow the requeue code to acquire an uncontended rt_mutex on behalf 115 requeueing, futex_requeue() attempts to acquire the requeue target 127 tasks as it can acquire the lock for, which in the majority of cases 129 either pthread_cond_broadcast() or pthread_cond_signal() acquire the
|
| D | mutex-design.rst | 40 (i) fastpath: tries to atomically acquire the lock by cmpxchg()ing the owner with 54 to acquire the lock spinning on a local variable. It avoids expensive 97 - Point-of-acquire tracking, symbolic lookup of function names, 115 Acquire the mutex, uninterruptible:: 121 Acquire the mutex, interruptible:: 127 Acquire the mutex, interruptible, if dec to 0::
|
| /kernel/linux/linux-4.19/Documentation/locking/ |
| D | ww-mutex-design.txt | 62 Acquire context: To ensure eventual forward progress it is important the a task 63 trying to acquire locks doesn't grab a new reservation id, but keeps the one it 65 acquire context. Furthermore the acquire context keeps track of debugging state 66 to catch w/w mutex interface abuse. An acquire context is representing a 70 w/w mutexes, since it is required to initialize the acquire context. The lock 73 Furthermore there are three different class of w/w lock acquire functions: 97 * Functions to only acquire a single w/w mutex, which results in the exact same 101 Again this is not strictly required. But often you only want to acquire a 102 single lock in which case it's pointless to set up an acquire context (and so 117 Three different ways to acquire locks within the same w/w class. Common [all …]
|
| /kernel/linux/linux-4.19/Documentation/ |
| D | futex-requeue-pi.txt | 91 to be able to acquire the rt_mutex before returning to user space. 93 acquire the rt_mutex as it would open a race window between the 99 allow the requeue code to acquire an uncontended rt_mutex on behalf 115 requeueing, futex_requeue() attempts to acquire the requeue target 127 tasks as it can acquire the lock for, which in the majority of cases 129 either pthread_cond_broadcast() or pthread_cond_signal() acquire the
|