/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 | 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/include/linux/ |
H A D | kfifo.h | 30 * Note about locking: There is no locking required until only one reader 256 * a spinlock for locking 258 * @lock: spinlock to be used for locking 272 * using a spinlock for locking, doesn't disable interrupts 274 * @lock: spinlock to be used for locking 414 * writer, you don't need extra locking to use these macro. 451 * writer, you don't need extra locking to use these macro. 490 * writer, you don't need extra locking to use these macro. 528 * writer, you don't need extra locking to use these macro. 543 * kfifo_in_spinlocked - put data into the fifo using a spinlock for locking [all …]
|
H A D | seqlock.h | 9 * See Documentation/locking/seqlock.rst 101 * See Documentation/locking/seqlock.rst 439 * See Documentation/locking/lockdep-design.rst 962 * read_seqlock_excl() - begin a seqlock_t locking reader section 965 * read_seqlock_excl opens a seqlock_t locking reader critical section. A 966 * locking reader exclusively locks out *both* other writers *and* other 967 * locking readers, but it does not update the embedded sequence number. 969 * Locking readers act like a normal spin_lock()/spin_unlock(). 983 * read_sequnlock_excl() - end a seqlock_t locking reader critical section 992 * 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/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.
|
H A D | pi-futex.rst | 18 recursive locking, etc. 26 improve the statistical distribution of locking related application 54 to think about how to offer the option of a deterministic locking 62 problems as other user-space locking constructs). Fact is, pretty much 122 Documentation/locking/rt-mutex.rst.
|
/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/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/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/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/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/fs/ocfs2/cluster/ |
H A D | tcp_internal.h | 22 * locking semantics of the file system using the protocol. It should 25 * With version 11, we separate out the filesystem locking portion. The 29 * filesystem locking changes. 32 * - Negotiation of filesystem locking in the dlm join. 60 * - introduction of "rw" lock and pushing meta/data locking down
|