| /linux/Documentation/locking/ |
| H A D | mutex-design.rst | 9 What are mutexes? 12 In the Linux kernel, mutexes refer to a particular locking primitive 15 or similar theoretical text books. Mutexes are sleeping locks which 26 Mutexes are represented by 'struct mutex', defined in include/linux/mutex.h 69 While formally kernel mutexes are sleepable locks, it is path (ii) that 87 - Held mutexes must not be reinitialized. 88 - Mutexes may not be used in hardware or software interrupt 95 - Uses symbolic names of mutexes, whenever they are printed 104 Mutexes - and most other sleeping locks like rwsems - do not provide an 165 When to use mutexes [all …]
|
| H A D | ww-mutex-design.rst | 5 Please read mutex-design.rst first, as it applies to wait/wound mutexes too. 7 Motivation for WW-Mutexes 60 Compared to normal mutexes two additional concepts/objects show up in the lock 61 interface for w/w mutexes: 70 W/w class: In contrast to normal mutexes the lock class needs to be explicit for 71 w/w mutexes, since it is required to initialize the acquire context. The lock 238 mutexes are a natural fit for such a case for two reasons: 340 increase in code size if wait/wound mutexes are not used. 373 - Attempting to lock more mutexes after ww_acquire_done. 375 unlocking all mutexes. [all …]
|
| H A D | rt-mutex.rst | 5 RT-mutexes with priority inheritance are used to support PI-futexes, 16 RT-mutexes extend the semantics of simple mutexes by the priority 27 mutexes which protect shared resources. Priority inheritance is not a 40 RT-mutexes are optimized for fastpath operations and have no internal
|
| H A D | rt-mutex-design.rst | 120 - The highest priority process waiting on one of the mutexes 131 The PI chain is a list of processes and mutexes that may cause priority 139 Mutexes: L1, L2, L3, L4 177 have multiple chains merge at mutexes. If we add another process G that is 209 a tree of all top waiters of the mutexes that are owned by the process. 211 blocked on mutexes owned by the process. 229 the nesting of mutexes. Let's look at the example where we have 3 mutexes, 293 Now since mutexes can be defined by user-land applications, we don't want a DOS 294 type of application that nests large amounts of mutexes to create a large 318 mutexes short. [all …]
|
| H A D | pi-futex.rst | 64 locks (such as futex-based pthread mutexes) is priority inheritance: 79 mutexes involves no kernel work at all - they behave quite similarly to 82 futexes.) Userspace uses atomic ops to lock/unlock these mutexes without 115 possible anyway, due to existing ABI properties of pthread mutexes.]
|
| /linux/tools/perf/util/ |
| H A D | sharded_mutex.h | 11 * constantly hashed, a sharded mutex is an alternative global pool of mutexes 16 /* mutexes array is 1<<cap_bits in size. */ 18 struct mutex mutexes[]; member 26 return &sm->mutexes[hash_bits(hash, sm->cap_bits)]; in sharded_mutex__get_mutex()
|
| H A D | sharded_mutex.c | 22 mutex_init(&result->mutexes[i]); in sharded_mutex__new() 30 mutex_destroy(&sm->mutexes[i]); in sharded_mutex__delete()
|
| H A D | rwsem.h | 8 * Mutexes have additional error checking. Enable to use a mutex rather than a
|
| /linux/drivers/reset/ |
| H A D | reset-eyeq.c | 172 struct mutex mutexes[EQR_MAX_DOMAIN_COUNT]; member 202 lockdep_assert_held(&priv->mutexes[domain]); in eqr_busy_wait_locked() 261 lockdep_assert_held(&priv->mutexes[domain]); in eqr_assert_locked() 302 guard(mutex)(&priv->mutexes[domain]); in eqr_assert() 315 lockdep_assert_held(&priv->mutexes[domain]); in eqr_deassert_locked() 356 guard(mutex)(&priv->mutexes[domain]); in eqr_deassert() 372 guard(mutex)(&priv->mutexes[domain]); in eqr_status() 462 mutex_init(&priv->mutexes[i]); in eqr_probe()
|
| /linux/drivers/acpi/acpica/ |
| H A D | utmutex.c | 27 * DESCRIPTION: Create the system mutex objects. This includes mutexes, 90 * DESCRIPTION: Delete all of the system mutex objects. This includes mutexes, 206 * Deadlock prevention. Check if this thread owns any mutexes of value in acpi_ut_acquire_mutex() 301 * Deadlock prevention. Check if this thread owns any mutexes of value in acpi_ut_release_mutex()
|
| /linux/tools/testing/selftests/locking/ |
| H A D | ww_mutex.sh | 7 # Runs API tests for struct ww_mutex (Wait/Wound mutexes)
|
| /linux/Documentation/devicetree/bindings/hwlock/ |
| H A D | qcom-hwspinlock.yaml | 13 The hardware block provides mutexes utilized between different processors on
|
| /linux/lib/ |
| H A D | debug_locks.c | 6 * spinlocks, rwlocks, mutexes and rwsems.
|
| /linux/kernel/configs/ |
| H A D | debug.config | 93 # Lock Debugging (spinlocks, mutexes, etc...)
|
| /linux/fs/ocfs2/ |
| H A D | uptodate.h | 36 * be mutexes.
|
| /linux/drivers/gpu/drm/i915/gt/ |
| H A D | intel_engine_pm.h | 96 * the usual mutexes and relying on the engine-pm barrier in intel_engine_create_kernel_request()
|
| /linux/include/uapi/xen/ |
| H A D | gntalloc.h | 59 * mutexes or close notification on communication channels.
|
| /linux/Documentation/userspace-api/ |
| H A D | futex2.rst | 10 performant synchronization mechanisms, such as mutexes, semaphores and
|
| /linux/tools/include/linux/ |
| H A D | poison.h | 79 /********** kernel/mutexes **********/
|
| /linux/Documentation/driver-api/media/ |
| H A D | dtv-demux.rst | 39 addressed, e.g. by protecting parts of code with mutexes.
|
| /linux/rust/kernel/sync/ |
| H A D | lock.rs | 5 //! It contains a generic Rust lock and guard that allow for different backends (e.g., mutexes, 111 /// Some locks are known to be self-referential (e.g., mutexes), while others are architecture
|
| /linux/Documentation/process/ |
| H A D | volatile-considered-harmful.rst | 22 safe (spinlocks, mutexes, memory barriers, etc.) are designed to prevent
|
| /linux/Documentation/livepatch/ |
| H A D | callbacks.rst | 18 mutexes/spinlocks, or even stop_machine(), to avoid concurrency issues.
|
| /linux/Documentation/trace/rv/ |
| H A D | monitor_rtapp.rst | 64 directly, but use PI mutexes and PI condition variables which are built on
|
| /linux/tools/arch/alpha/include/uapi/asm/ |
| H A D | errno.h | 122 /* for robust mutexes */
|