/linux/lib/ |
H A D | locking-selftest.c | 3 * lib/locking-selftest.c 5 * Testsuite for various locking APIs: spinlocks, rwlocks, 309 #include "locking-selftest-spin.h" 311 #include "locking-selftest-wlock.h" 313 #include "locking-selftest-rlock.h" 315 #include "locking-selftest-mutex.h" 317 #include "locking-selftest-wsem.h" 319 #include "locking-selftest-rsem.h" 323 #include "locking-selftest-rtmutex.h" 330 * Special-case for read-locking, they are [all …]
|
/linux/tools/memory-model/Documentation/ |
H A D | simple.txt | 39 This approach is called "code locking". 41 Code locking can severely limit both performance and scalability, so it 47 One of the advantages of locking is that, in happy contrast with the 48 year 1981, almost all kernel developers are very familiar with locking. 52 Please use the standard locking primitives provided by the kernel rather 58 locking functions must carefully prevent both the CPU and the compiler 59 from moving code in either direction across the locking function. 86 Data locking 89 With code locking, we use single-threaded code execution to guarantee 104 As the number of buckets increases, data locking scales naturally. [all …]
|
H A D | locking.txt | 1 Locking 4 Locking is well-known and the common use cases are straightforward: Any 13 Locking and Prior Accesses 16 The basic rule of locking is worth repeating: 50 Locking and Subsequent Accesses 82 locking basic rule extend across multiple acquisitions of a given lock 86 Double-Checked Locking 90 double-checked locking work correctly, This litmus test illustrates 93 /* See Documentation/litmus-tests/locking/DCL-broken.litmus. */ 118 /* See Documentation/litmus-tests/locking/DCL-fixed.litmus. */ [all …]
|
/linux/kernel/locking/ |
H A D | lock_events_list.h | 23 * Locking events for PV qspinlock. 39 * Locking events for qspinlock 44 LOCK_EVENT(lock_pending) /* # of locking ops via pending code */ 45 LOCK_EVENT(lock_slowpath) /* # of locking ops via MCS lock queue */ 46 LOCK_EVENT(lock_use_node2) /* # of locking ops that use 2nd percpu node */ 47 LOCK_EVENT(lock_use_node3) /* # of locking ops that use 3rd percpu node */ 48 LOCK_EVENT(lock_use_node4) /* # of locking ops that use 4th percpu node */ 49 LOCK_EVENT(lock_no_node) /* # of locking ops w/o using percpu node */ 53 * Locking events for rwsem
|
/linux/drivers/iio/accel/ |
H A D | mma9551_core.c | 210 * Locking note: This function must be called with the device lock held. 211 * Locking is not handled inside the function. Callers should ensure they 235 * Locking note: This function must be called with the device lock held. 236 * Locking is not handled inside the function. Callers should ensure they 260 * Locking note: This function must be called with the device lock held. 261 * Locking is not handled inside the function. Callers should ensure they 285 * Locking note: This function must be called with the device lock held. 286 * Locking is not handled inside the function. Callers should ensure they 319 * Locking note: This function must be called with the device lock held. 320 * Locking is not handled inside the function. Callers should ensure they [all …]
|
/linux/Documentation/filesystems/ |
H A D | directory-locking.rst | 2 Directory Locking 6 Locking scheme used for directory operations is based on two 20 1. read access. Locking rules: 24 2. object creation. Locking rules: 28 3. object removal. Locking rules: 34 4. link creation. Locking rules: 40 5. rename that is _not_ cross-directory. Locking rules: 53 6. cross-directory rename. The trickiest in the whole bunch. Locking rules: 76 is a bunch of subtrees visible in dcache and locking happens on those. 93 we'd been looking for. No extra locking is involved in these two cases. [all …]
|
H A D | dlmfs.rst | 41 dlmfs for easy to setup and easy to use clustered locking in 64 Locking chapter 69 system calls and presents a more traditional locking api. 74 locking. 94 domain directory. Locking against them is done via the open(2) system 113 Open Flag Resulting Locking Behavior 140 For more information on the VMS distributed locking API.
|
H A D | locking.rst | 2 Locking title 5 The text below describes the locking rules for VFS-related methods. 7 prototypes or locking protocols - update this file. And update the relevant 34 locking rules: 90 locking rules: 130 See Documentation/filesystems/directory-locking.rst for more detailed discussion 131 of the locking scheme for directory operations. 147 locking rules: 181 locking rules: 216 writes to quota files with quotas on). For other details about locking [all …]
|
/linux/Documentation/locking/ |
H A D | lockdep-design.rst | 1 Runtime locking correctness validator 14 respect to locking rules, even if the locks may have multiple (possibly 51 where the n STATEs are coded in kernel/locking/lockdep_states.h and as of 61 When locking rules are violated, these usage bits are presented in the 62 locking error messages, inside curlies, with a total of 2 * n STATEs bits. 152 i.e., there can be any other locking sequence between the acquire-lock 168 The above rules are enforced for any locking sequence that occurs in the 192 Exception: Nested data dependencies leading to nested locking 202 An example of such an object hierarchy that results in "nested locking" 207 automatically detect this natural ordering, as the locking rule behind [all …]
|
H A D | preempt-locking.rst | 2 Proper Locking Under a Preemptible Kernel: Keeping Kernel Code Preempt-Safe 12 A preemptible kernel creates new locking issues. The issues are the same as 14 kernel model leverages existing SMP locking mechanisms. Thus, the kernel 15 requires explicit additional locking for very few additional situations. 32 First, since the data is per-CPU, it may not have explicit SMP locking, but 132 in doubt, rely on locking or explicit preemption disabling.
|
/linux/Documentation/gpu/ |
H A D | drm-vm-bind-locking.rst | 4 VM_BIND locking 7 This document attempts to describe what's needed to get VM_BIND locking right, 8 including the userptr mmu_notifier locking. It also discusses some 11 implementation. In addition, there is a section describing the VM_BIND locking 18 set of helpers implements much, but not all of the locking described 53 allows deadlock-safe locking of multiple dma_resvs in arbitrary 69 Locks and locking order 77 The following locks and locking orders are used: 111 lists are manipulated. However, to avoid locking order violations 128 over the gpu_vm_bo and gpu_vma lists to avoid locking-order violations. [all …]
|
/linux/tools/testing/selftests/net/forwarding/ |
H A D | bridge_locked_port.sh | 100 check_err $? "Ping did not work before locking port" 105 check_fail $? "Ping worked after locking port, but before adding FDB entry" 110 check_err $? "Ping did not work after locking port and adding FDB entry" 131 check_err $? "Ping through vlan did not work before locking port" 135 check_fail $? "Ping through vlan worked after locking port, but before adding FDB entry" 140 check_err $? "Ping through vlan did not work after locking port and adding FDB entry" 159 check_err $? "Ping6 did not work before locking port" 164 check_fail $? "Ping6 worked after locking port, but before adding FDB entry" 168 check_err $? "Ping6 did not work after locking port and adding FDB entry" 185 check_err $? "Ping did not work before locking port"
|
/linux/include/linux/ |
H A D | seqlock.h | 9 * See Documentation/locking/seqlock.rst 101 * See Documentation/locking/seqlock.rst 439 * See Documentation/locking/lockdep-design.rst 916 * read_seqlock_excl() - begin a seqlock_t locking reader section 919 * read_seqlock_excl opens a seqlock_t locking reader critical section. A 920 * locking reader exclusively locks out *both* other writers *and* other 921 * locking readers, but it does not update the embedded sequence number. 923 * Locking readers act like a normal spin_lock()/spin_unlock(). 937 * read_sequnlock_excl() - end a seqlock_t locking reader critical section 946 * read_seqlock_excl_bh() - start a seqlock_t locking reader section with [all …]
|
H A D | serial_core.h | 49 * Locking: none. 68 * Locking: @port->lock taken. 88 * Locking: @port->lock taken. 100 * Locking: @port->lock taken. 108 * Locking: @port->lock taken. 119 * Locking: serialized with @unthrottle() and termios modification by the 130 * Locking: serialized with @throttle() and termios modification by the 143 * Locking: none. 150 * Locking: @port->lock taken. 158 * Locking: @port->lock taken. [all …]
|
H A D | seqlock_types.h | 24 * locking primitives, use a sequence counter with associated lock 31 * See Documentation/locking/seqlock.rst 54 * sleeping locks. See Documentation/locking/locktypes.rst 82 * - Documentation/locking/seqlock.rst
|
/linux/drivers/ata/ |
H A D | libata-sff.c | 60 * LOCKING: 80 * LOCKING: 112 * LOCKING: 135 * LOCKING: 152 * LOCKING: 201 * LOCKING: 223 * LOCKING: 251 * LOCKING: 283 * LOCKING: 311 * LOCKING: [all …]
|
/linux/Documentation/litmus-tests/ |
H A D | README | 41 locking (/locking directory) 45 Demonstrates that double-checked locking needs more than just 49 Demonstrates corrected double-checked locking that uses 54 Demonstrates problems with "roach motel" locking, where code is
|
/linux/fs/gfs2/ |
H A D | Kconfig | 22 the locking module below. Documentation and utilities for GFS2 can 29 bool "GFS2 DLM locking" 33 Multiple node locking module for GFS2 35 Most users of GFS2 will require this. It provides the locking
|
/linux/Documentation/kernel-hacking/ |
H A D | locking.rst | 4 Unreliable Guide To Locking 12 Welcome, to Rusty's Remarkably Unreliable Guide to Kernel Locking 13 issues. This document describes the locking systems in the Linux Kernel 18 fundamentals of concurrency and locking for SMP. 94 Locking in the Linux Kernel 97 If I could give you one piece of advice on locking: **keep it simple**. 134 You should always test your locking code with ``CONFIG_SMP`` and 136 because it will still catch some kinds of locking bugs. 141 Locking Only In User Context 161 Locking Between User Context and Softirqs [all …]
|
/linux/block/ |
H A D | opal_proto.h | 187 /* locking tokens */ 197 /* locking info table */ 218 /* Locking state for a locking range */ 328 * Locking Feature Descriptor. Contains flags indicating support for the 329 * locking features described in the OPAL specification. The names match the 342 * bit 1: locking enabled 343 * bit 0: locking supported
|
/linux/fs/ocfs2/ |
H A D | ocfs2_lockingver.h | 5 * Defines OCFS2 Locking version values. 14 * The protocol version for ocfs2 cluster locking. See dlmglue.c for 17 * 1.0 - Initial locking version from ocfs2 1.4.
|
/linux/drivers/dma/ |
H A D | dmaengine.h | 66 * non-NULL. No locking is required. 111 * No locking is required. 129 * Locking is dependent on the driver. 157 * Locking is dependent on the driver. 174 * No locking is required.
|
/linux/drivers/media/pci/mgb4/ |
H A D | mgb4_sysfs_out.c | 78 * locking strategy is used. In addition to the video device locking there is 239 * locking/queue check is not needed. 274 * locking/queue check is not needed. 310 * locking/queue check is not needed. 346 * locking/queue check is not needed. 382 * locking/queue check is not needed. 418 * locking/queue check is not needed. 454 * locking/queue check is not needed. 492 * locking/queue check is not needed. 528 * locking/queue check is not needed. [all …]
|
/linux/arch/mips/include/asm/octeon/ |
H A D | cvmx-pko.h | 33 * two types of locking. CVMX_PKO_LOCK_ATOMIC_TAG continues to 37 * memory based locking instead. This locking has the advantage 50 * queue locking correctly applies across all operating 94 * This enumeration represents the different locking modes supported by PKO. 98 * PKO doesn't do any locking. It is the responsibility of the 112 * ll/sc. This is the most portable locking mechanism. 352 * possible locking modes. 354 * - PKO doesn't do any locking. It is the responsibility 365 * locking mechanism. 367 * NOTE: If atomic locking is used, the POW entry CANNOT be
|
H A D | cvmx-cmd-queue.h | 64 * provides an optimized fair ll/sc locking mechanism for the 67 * predicted locking time to limit cache contention. When a core 318 * Use internal locking to ensure exclusive access for queue 319 * updates. If you don't use this locking you must ensure 320 * exclusivity some other way. Locking is strongly recommended. 416 * Use internal locking to ensure exclusive access for queue 417 * updates. If you don't use this locking you must ensure 418 * exclusivity some other way. Locking is strongly recommended. 515 * Use internal locking to ensure exclusive access for queue 516 * updates. If you don't use this locking you must ensure [all …]
|