Home
last modified time | relevance | path

Searched refs:locks (Results 1 – 25 of 225) sorted by relevance

123456789

/kernel/linux/linux-5.10/kernel/locking/
Dtest-ww_mutex.c344 struct ww_mutex *locks; member
382 struct ww_mutex *locks = stress->locks; in stress_inorder_work() local
401 err = ww_mutex_lock(&locks[order[n]], &ctx); in stress_inorder_work()
409 ww_mutex_unlock(&locks[order[contended]]); in stress_inorder_work()
412 ww_mutex_unlock(&locks[order[n]]); in stress_inorder_work()
415 ww_mutex_lock_slow(&locks[order[contended]], &ctx); in stress_inorder_work()
440 LIST_HEAD(locks); in stress_reorder_work()
455 ll->lock = &stress->locks[order[n]]; in stress_reorder_work()
456 list_add(&ll->link, &locks); in stress_reorder_work()
464 list_for_each_entry(ll, &locks, link) { in stress_reorder_work()
[all …]
/kernel/linux/linux-5.10/tools/memory-model/
Dlinux-kernel.bell45 unmatched-locks = Rcu-lock \ domain(matched)
47 and unmatched = unmatched-locks | unmatched-unlocks
49 and unmatched-locks-to-unlocks =
50 [unmatched-locks] ; po ; [unmatched-unlocks]
51 and matched = matched | (unmatched-locks-to-unlocks \
61 unmatched-locks = Srcu-lock \ domain(matched)
63 and unmatched = unmatched-locks | unmatched-unlocks
65 and unmatched-locks-to-unlocks =
66 ([unmatched-locks] ; po ; [unmatched-unlocks]) & loc
67 and matched = matched | (unmatched-locks-to-unlocks \
/kernel/linux/linux-5.10/lib/
Dbucket_locks.c14 int __alloc_bucket_spinlocks(spinlock_t **locks, unsigned int *locks_mask, in __alloc_bucket_spinlocks() argument
43 *locks = tlocks; in __alloc_bucket_spinlocks()
50 void free_bucket_spinlocks(spinlock_t *locks) in free_bucket_spinlocks() argument
52 kvfree(locks); in free_bucket_spinlocks()
/kernel/linux/linux-5.10/Documentation/filesystems/
Ddirectory-locking.rst7 kinds of locks - per-inode (->i_rwsem) and per-filesystem
11 always acquire the locks in order by increasing address. We'll call
16 1) read access. Locking rules: caller locks directory we are accessing.
22 3) object removal. Locking rules: caller locks parent, finds victim,
23 locks victim and calls the method. Locks are exclusive.
25 4) rename() that is _not_ cross-directory. Locking rules: caller locks
30 Then call the method. All locks are exclusive.
41 All locks are exclusive.
80 change until rename acquires all locks. (Proof: other cross-directory
82 the order until we had acquired all locks).
[all …]
Dmandatory-locking.rst37 processes. File locks are applied using the flock() and fcntl() system calls
39 normally a process' responsibility to check for locks on a file it wishes to
59 interface for applying locks just as if they were normal, advisory locks.
97 another process has outstanding mandatory locks. This is in direct
103 HP-UX even disallows open() with O_TRUNC for a file with advisory locks, not
104 just mandatory locks. That would appear to contravene POSIX.1.
107 prevent mandatory locks from being applied to an mmap()'ed file, but HP-UX
108 also disallows advisory locks for such a file. SVID actually specifies the
112 only from mandatory locks - that is what is currently implemented.
115 mandatory locks, so reads and writes to locked files always block when they
[all …]
/kernel/linux/linux-5.10/include/linux/
Dblockgroup_lock.h24 struct bgl_lock locks[NR_BG_LOCKS]; member
32 spin_lock_init(&bgl->locks[i].lock); in bgl_lock_init()
38 return &bgl->locks[block_group & (NR_BG_LOCKS-1)].lock; in bgl_lock_ptr()
Dspinlock.h479 int __alloc_bucket_spinlocks(spinlock_t **locks, unsigned int *lock_mask,
484 #define alloc_bucket_spinlocks(locks, lock_mask, max_size, cpu_mult, gfp) \ argument
489 ret = __alloc_bucket_spinlocks(locks, lock_mask, max_size, \
490 cpu_mult, gfp, #locks, &key); \
494 void free_bucket_spinlocks(spinlock_t *locks);
/kernel/linux/linux-5.10/drivers/net/wireless/realtek/rtlwifi/
Dps.c79 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state()
81 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state()
99 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state()
143 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state()
145 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state()
271 mutex_lock(&rtlpriv->locks.ips_mutex); in rtl_ips_nic_on()
288 mutex_unlock(&rtlpriv->locks.ips_mutex); in rtl_ips_nic_on()
417 mutex_lock(&rtlpriv->locks.lps_mutex); in rtl_lps_enter_core()
427 mutex_unlock(&rtlpriv->locks.lps_mutex); in rtl_lps_enter_core()
437 mutex_lock(&rtlpriv->locks.lps_mutex); in rtl_lps_leave_core()
[all …]
Dcore.c139 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_start()
143 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_start()
167 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_stop()
182 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_stop()
228 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_add_interface()
315 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_add_interface()
325 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_remove_interface()
350 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_remove_interface()
591 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_config()
792 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_config()
[all …]
/kernel/linux/linux-5.10/fs/btrfs/
Dlocking.c497 if (!p->nodes[i] || !p->locks[i]) in btrfs_set_path_blocking()
504 if (p->locks[i] == BTRFS_READ_LOCK) { in btrfs_set_path_blocking()
506 p->locks[i] = BTRFS_READ_LOCK_BLOCKING; in btrfs_set_path_blocking()
507 } else if (p->locks[i] == BTRFS_WRITE_LOCK) { in btrfs_set_path_blocking()
509 p->locks[i] = BTRFS_WRITE_LOCK_BLOCKING; in btrfs_set_path_blocking()
533 if (!path->locks[i]) in btrfs_unlock_up_safe()
535 btrfs_tree_unlock_rw(path->nodes[i], path->locks[i]); in btrfs_unlock_up_safe()
536 path->locks[i] = 0; in btrfs_unlock_up_safe()
/kernel/linux/linux-5.10/Documentation/locking/
Drobust-futex-ABI.rst9 futexes, for kernel assist of cleanup of held locks on task exit.
12 linked list in user space, where it can be updated efficiently as locks
19 2) internal kernel code at exit, to handle any listed locks held
32 to do so, then improperly listed locks will not be cleaned up on exit,
34 waiting on the same locks.
88 specified 'offset'. Should a thread die while holding any such locks,
89 the kernel will walk this list, mark any such locks with a bit
106 robust_futexes used by that thread. The thread should link those locks
108 other links between the locks, such as the reverse side of a double
111 By keeping its locks linked this way, on a list starting with a 'head'
[all …]
Dlockdep-design.rst11 The basic object the validator operates upon is a 'class' of locks.
13 A class of locks is a group of locks that are logically the same with
14 respect to locking rules, even if the locks may have multiple (possibly
24 perspective, the two locks (L1 and L2) are not necessarily related; that
111 Unused locks (e.g., mutexes) cannot be part of the cause of an error.
143 Furthermore, two locks can not be taken in inverse order::
149 deadlock - as attempts to acquire the two locks form a circle which
153 operations; the validator will still find whether these locks can be
170 any rule violation between the new lock and any of the held locks.
188 could interrupt _any_ of the irq-unsafe or hardirq-unsafe locks, which
[all …]
Dmutex-design.rst15 or similar theoretical text books. Mutexes are sleeping locks which
27 and implemented in kernel/locking/mutex.c. These locks use an atomic variable
69 While formally kernel mutexes are sleepable locks, it is path (ii) that
86 - Memory areas where held locks reside must not be freed.
98 list of all locks held in the system, printout of them.
100 - Detects self-recursing locks and prints out all relevant info.
102 locks and tasks (and only those tasks).
143 locks in the kernel. E.g: on x86-64 it is 32 bytes, where 'struct semaphore'
Dpi-futex.rst32 Firstly, sharing locks between multiple tasks is a common programming
46 short-held locks: for example, a highprio audio playback thread is
51 So once we accept that synchronization objects (locks) are an
53 apps have a very fair expectation of being able to use locks, we've got
58 inheritance only apply to kernel-space locks. But user-space locks are
64 locks (such as futex-based pthread mutexes) is priority inheritance:
80 normal futex-based locks: a 0 value means unlocked, and a value==TID
Dlocktypes.rst15 - Sleeping locks
16 - CPU local locks
17 - Spinning locks
26 Sleeping locks
29 Sleeping locks can only be acquired in preemptible task context.
34 versions of these primitives. In short, don't acquire sleeping locks from
46 On PREEMPT_RT kernels, these lock types are converted to sleeping locks:
53 CPU local locks
65 Spinning locks
71 On non-PREEMPT_RT kernels, these lock types are also spinning locks:
[all …]
/kernel/linux/linux-5.10/drivers/net/wireless/realtek/rtlwifi/rtl8192de/
Dfw.c295 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl92d_fill_h2c_command()
302 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, in _rtl92d_fill_h2c_command()
313 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, in _rtl92d_fill_h2c_command()
316 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92d_fill_h2c_command()
319 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92d_fill_h2c_command()
437 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl92d_fill_h2c_command()
439 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92d_fill_h2c_command()
468 spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags); in _rtl92d_cmd_send_packet()
474 spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, flags); in _rtl92d_cmd_send_packet()
/kernel/linux/linux-5.10/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/
Dfw.c49 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl8723e_fill_h2c_command()
56 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, in _rtl8723e_fill_h2c_command()
66 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, in _rtl8723e_fill_h2c_command()
69 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl8723e_fill_h2c_command()
72 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl8723e_fill_h2c_command()
225 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl8723e_fill_h2c_command()
227 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl8723e_fill_h2c_command()
/kernel/linux/linux-5.10/arch/x86/kernel/
Dmodule.c253 const Elf_Shdr *s, *text = NULL, *alt = NULL, *locks = NULL, in module_finalize() local
264 locks = s; in module_finalize()
290 if (locks && text) { in module_finalize()
291 void *lseg = (void *)locks->sh_addr; in module_finalize()
294 lseg, lseg + locks->sh_size, in module_finalize()
/kernel/linux/linux-5.10/Documentation/gpu/
Dvgaarbiter.rst39 Close a user instance. Release locks made by the user
44 "<card_ID>,decodes=<io_state>,owns=<io_state>,locks=<io_state> (ic,mc)"
50 "locks" indicates what is locked by this card. If the card is
61 acquires locks on target ("none" is an invalid io_state)
63 non-blocking acquire locks on target (returns EBUSY if
66 release locks on target
68 release all locks on target held by this user (not implemented
81 Note about locks:
83 The driver keeps track of which user has which locks on which card. It
87 Currently, a max of 16 cards can have locks simultaneously issued from
/kernel/linux/linux-5.10/drivers/net/wireless/realtek/rtlwifi/rtl8723be/
Dfw.c47 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl8723be_fill_h2c_command()
54 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, in _rtl8723be_fill_h2c_command()
64 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, in _rtl8723be_fill_h2c_command()
67 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl8723be_fill_h2c_command()
70 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl8723be_fill_h2c_command()
190 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl8723be_fill_h2c_command()
192 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl8723be_fill_h2c_command()
/kernel/linux/linux-5.10/fs/cifs/
Dsmb2file.c148 list_for_each_entry_safe(li, tmp, &cfile->llist->locks, llist) { in smb2_unlock_range()
190 &cfile->llist->locks); in smb2_unlock_range()
208 cifs_move_llist(&tmp_llist, &cfile->llist->locks); in smb2_unlock_range()
230 list_for_each_entry(li, &fdlocks->locks, llist) { in smb2_push_mand_fdlocks()
/kernel/linux/linux-5.10/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/
Dfw.c187 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl88e_fill_h2c_command()
194 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, in _rtl88e_fill_h2c_command()
204 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, in _rtl88e_fill_h2c_command()
207 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl88e_fill_h2c_command()
210 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl88e_fill_h2c_command()
328 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl88e_fill_h2c_command()
330 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl88e_fill_h2c_command()
/kernel/linux/linux-5.10/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/
Dfw.c194 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl92ee_fill_h2c_command()
201 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, in _rtl92ee_fill_h2c_command()
211 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, in _rtl92ee_fill_h2c_command()
214 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92ee_fill_h2c_command()
217 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92ee_fill_h2c_command()
348 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl92ee_fill_h2c_command()
350 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92ee_fill_h2c_command()
/kernel/linux/linux-5.10/drivers/net/wireless/realtek/rtlwifi/rtl8192c/
Dfw_common.c204 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl92c_fill_h2c_command()
210 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, in _rtl92c_fill_h2c_command()
220 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, in _rtl92c_fill_h2c_command()
223 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92c_fill_h2c_command()
226 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92c_fill_h2c_command()
377 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl92c_fill_h2c_command()
379 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92c_fill_h2c_command()
/kernel/linux/linux-5.10/tools/lib/lockdep/
Dpreload.c39 static struct rb_root locks = RB_ROOT; variable
103 struct rb_node **node = &locks.rb_node; in __get_lock_node()
206 rb_insert_color(&l->node, &locks); in __get_lock()
215 rb_erase(&lock->node, &locks); in __del_lock()

123456789