Home
last modified time | relevance | path

Searched full:locking (Results 1 – 25 of 1761) sorted by relevance

12345678910>>...71

/linux/lib/
H A Dlocking-selftest.c3 * 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 Dsimple.txt39 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 Dlocking.txt1 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 Dlock_events_list.h23 * 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 Dmma9551_core.c210 * 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 Ddirectory-locking.rst2 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 Ddlmfs.rst41 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 Dlocking.rst2 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 Dlockdep-design.rst1 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 Dpreempt-locking.rst2 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 Ddrm-vm-bind-locking.rst4 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 Dbridge_locked_port.sh100 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 Dseqlock.h9 * 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 Dserial_core.h49 * 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 Dseqlock_types.h24 * 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 Dlibata-sff.c60 * 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 DREADME41 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 DKconfig22 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 Dlocking.rst4 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 Dopal_proto.h187 /* 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 Docfs2_lockingver.h5 * 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 Ddmaengine.h66 * 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 Dmgb4_sysfs_out.c78 * 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 Dcvmx-pko.h33 * 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 Dcvmx-cmd-queue.h64 * 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 …]

12345678910>>...71