| /kernel/linux/linux-5.10/Documentation/driver-api/serial/ |
| D | driver.rst | 37 Locking chapter 41 necessary locking using port->lock. There are some exceptions (which 55 locking. 77 Locking: none. 98 Locking: port->lock taken. 119 Locking: port->lock taken. 133 Locking: port->lock taken. 142 Locking: port->lock taken. 154 Locking: serialized with .unthrottle() and termios modification by the 164 Locking: serialized with .throttle() and termios modification by the [all …]
|
| /kernel/linux/linux-5.10/lib/ |
| D | locking-selftest.c | 3 * lib/locking-selftest.c 5 * Testsuite for various locking APIs: spinlocks, rwlocks, 294 #include "locking-selftest-spin.h" 296 #include "locking-selftest-wlock.h" 298 #include "locking-selftest-rlock.h" 300 #include "locking-selftest-mutex.h" 302 #include "locking-selftest-wsem.h" 304 #include "locking-selftest-rsem.h" 308 #include "locking-selftest-rtmutex.h" 315 * Special-case for read-locking, they are [all …]
|
| /kernel/linux/linux-5.10/Documentation/filesystems/ |
| D | mandatory-locking.rst | 4 Mandatory File Locking For The Linux Operating System 13 0. Why you should avoid mandatory locking 32 1. What is mandatory locking? 35 Mandatory locking is kernel enforced file locking, as opposed to the more usual 36 cooperative file locking used to guarantee sequential access to files among 47 "advisory" locking scheme. However, the world isn't perfect, and there's 51 with a "mandatory" locking scheme, whereby the operating system kernel would 56 The System V mandatory locking scheme was intended to have as little impact as 58 as candidates for mandatory locking, and using the existing fcntl()/lockf() 64 the whole truth. System V locking is based on fcntl(). The granularity of [all …]
|
| D | directory-locking.rst | 2 Directory Locking 6 Locking scheme used for directory operations is based on two 16 1) read access. Locking rules: caller locks directory we are accessing. 19 2) object creation. Locking rules: same as above, but the lock is taken 22 3) object removal. Locking rules: caller locks parent, finds victim, 25 4) rename() that is _not_ cross-directory. Locking rules: caller locks 36 5) link creation. Locking rules: 45 6) cross-directory rename. The trickiest in the whole bunch. Locking 123 But locking rules for cross-directory rename guarantee that we do not 139 While this locking scheme works for arbitrary DAGs, it relies on
|
| D | locks.rst | 4 File Locking Release Notes 57 1.3 Mandatory Locking As A Mount Option 60 Mandatory locking, as described in 61 'Documentation/filesystems/mandatory-locking.rst' was prior to this release a 67 From this release of the kernel, mandatory locking can be turned on and off 69 The default is to disallow mandatory locking. The intention is that 70 mandatory locking only be enabled on a local filesystem as the specific need
|
| 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.
|
| /kernel/linux/linux-6.6/lib/ |
| 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 …]
|
| /kernel/linux/linux-6.6/kernel/locking/ |
| 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
|
| /kernel/linux/linux-5.10/kernel/locking/ |
| 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
|
| /kernel/linux/linux-5.10/tools/memory-model/Documentation/ |
| 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 …]
|
| /kernel/linux/linux-6.6/tools/memory-model/Documentation/ |
| 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 …]
|
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/iio/accel/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/iio/accel/ |
| 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 …]
|
| /kernel/linux/linux-6.6/Documentation/filesystems/ |
| D | directory-locking.rst | 2 Directory Locking 6 Locking scheme used for directory operations is based on two 16 1) read access. Locking rules: caller locks directory we are accessing. 19 2) object creation. Locking rules: same as above, but the lock is taken 22 3) object removal. Locking rules: caller locks parent, finds victim, 25 4) rename() that is _not_ cross-directory. Locking rules: caller locks 36 5) link creation. Locking rules: 45 6) cross-directory rename. The trickiest in the whole bunch. Locking 123 But locking rules for cross-directory rename guarantee that we do not 139 While this locking scheme works for arbitrary DAGs, it relies on
|
| 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.
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | kfifo.h | 30 * Note about locking: There is no locking required until only one reader 251 * a spinlock for locking 253 * @lock: spinlock to be used for locking 267 * using a spinlock for locking, doesn't disable interrupts 269 * @lock: spinlock to be used for locking 403 * writer, you don't need extra locking to use these macro. 440 * writer, you don't need extra locking to use these macro. 479 * writer, you don't need extra locking to use these macro. 517 * writer, you don't need extra locking to use these macro. 532 * kfifo_in_spinlocked - put data into the fifo using a spinlock for locking [all …]
|
| D | seqlock.h | 9 * See Documentation/locking/seqlock.rst 56 * locking primitives, use a sequence counter with associated lock 63 * See Documentation/locking/seqlock.rst 132 * See Documentation/locking/seqlock.rst 149 * sleeping locks. See Documentation/locking/locktypes.rst 500 * See Documentation/locking/lockdep-design.rst 793 * - Documentation/locking/seqlock.rst 994 * read_seqlock_excl() - begin a seqlock_t locking reader section 997 * read_seqlock_excl opens a seqlock_t locking reader critical section. A 998 * locking reader exclusively locks out *both* other writers *and* other [all …]
|
| /kernel/linux/linux-5.10/Documentation/locking/ |
| 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 …]
|
| /kernel/linux/linux-6.6/Documentation/locking/ |
| 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 …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | kfifo.h | 30 * Note about locking: There is no locking required until only one reader 251 * a spinlock for locking 253 * @lock: spinlock to be used for locking 267 * using a spinlock for locking, doesn't disable interrupts 269 * @lock: spinlock to be used for locking 403 * writer, you don't need extra locking to use these macro. 440 * writer, you don't need extra locking to use these macro. 479 * writer, you don't need extra locking to use these macro. 517 * writer, you don't need extra locking to use these macro. 532 * kfifo_in_spinlocked - put data into the fifo using a spinlock for locking [all …]
|
| D | seqlock.h | 9 * See Documentation/locking/seqlock.rst 55 * locking primitives, use a sequence counter with associated lock 62 * See Documentation/locking/seqlock.rst 131 * See Documentation/locking/seqlock.rst 148 * sleeping locks. See Documentation/locking/locktypes.rst 500 * See Documentation/locking/lockdep-design.rst 851 * - Documentation/locking/seqlock.rst 1042 * read_seqlock_excl() - begin a seqlock_t locking reader section 1045 * read_seqlock_excl opens a seqlock_t locking reader critical section. A 1046 * locking reader exclusively locks out *both* other writers *and* other [all …]
|
| /kernel/linux/linux-6.6/tools/testing/selftests/net/forwarding/ |
| 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"
|
| /kernel/linux/linux-6.6/tools/testing/selftests/drivers/net/dsa/ |
| 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"
|
| /kernel/linux/linux-6.6/fs/gfs2/ |
| 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
|