/Linux-v5.4/kernel/locking/ |
D | test-ww_mutex.c | 344 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 …]
|
/Linux-v5.4/tools/memory-model/ |
D | linux-kernel.bell | 45 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 \
|
/Linux-v5.4/lib/ |
D | bucket_locks.c | 14 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()
|
/Linux-v5.4/Documentation/filesystems/ |
D | directory-locking.rst | 7 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 …]
|
D | mandatory-locking.txt | 32 processes. File locks are applied using the flock() and fcntl() system calls 34 normally a process' responsibility to check for locks on a file it wishes to 54 interface for applying locks just as if they were normal, advisory locks. 90 another process has outstanding mandatory locks. This is in direct 96 HP-UX even disallows open() with O_TRUNC for a file with advisory locks, not 97 just mandatory locks. That would appear to contravene POSIX.1. 100 prevent mandatory locks from being applied to an mmap()'ed file, but HP-UX 101 also disallows advisory locks for such a file. SVID actually specifies the 105 only from mandatory locks - that is what is currently implemented. 108 mandatory locks, so reads and writes to locked files always block when they [all …]
|
/Linux-v5.4/include/linux/ |
D | blockgroup_lock.h | 24 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()
|
D | spinlock.h | 463 int __alloc_bucket_spinlocks(spinlock_t **locks, unsigned int *lock_mask, 468 #define alloc_bucket_spinlocks(locks, lock_mask, max_size, cpu_mult, gfp) \ argument 473 ret = __alloc_bucket_spinlocks(locks, lock_mask, max_size, \ 474 cpu_mult, gfp, #locks, &key); \ 478 void free_bucket_spinlocks(spinlock_t *locks);
|
/Linux-v5.4/drivers/net/wireless/realtek/rtlwifi/ |
D | ps.c | 80 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state() 82 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state() 100 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state() 146 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state() 148 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state() 275 mutex_lock(&rtlpriv->locks.ips_mutex); in rtl_ips_nic_on() 292 mutex_unlock(&rtlpriv->locks.ips_mutex); in rtl_ips_nic_on() 421 mutex_lock(&rtlpriv->locks.lps_mutex); in rtl_lps_enter_core() 431 mutex_unlock(&rtlpriv->locks.lps_mutex); in rtl_lps_enter_core() 441 mutex_lock(&rtlpriv->locks.lps_mutex); in rtl_lps_leave_core() [all …]
|
D | core.c | 137 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_start() 141 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_start() 165 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_stop() 180 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_stop() 226 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_add_interface() 313 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_add_interface() 323 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_remove_interface() 348 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_remove_interface() 589 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_config() 790 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_config() [all …]
|
/Linux-v5.4/Documentation/ |
D | robust-futex-ABI.txt | 9 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 …]
|
D | pi-futex.txt | 32 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
|
/Linux-v5.4/arch/x86/kernel/ |
D | module.c | 224 const Elf_Shdr *s, *text = NULL, *alt = NULL, *locks = NULL, in module_finalize() local 234 locks = s; in module_finalize() 248 if (locks && text) { in module_finalize() 249 void *lseg = (void *)locks->sh_addr; in module_finalize() 252 lseg, lseg + locks->sh_size, in module_finalize()
|
D | alternative.c | 478 const s32 *locks; member 492 void *locks, void *locks_end, in alternatives_smp_module_add() argument 512 smp->locks = locks; in alternatives_smp_module_add() 517 smp->locks, smp->locks_end, in alternatives_smp_module_add() 522 alternatives_smp_unlock(locks, locks_end, text, text_end); in alternatives_smp_module_add() 557 alternatives_smp_lock(mod->locks, mod->locks_end, in alternatives_enable_smp() 580 for (poff = mod->locks; poff < mod->locks_end; poff++) { in alternatives_text_reserved()
|
/Linux-v5.4/Documentation/locking/ |
D | lockdep-design.rst | 11 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 108 Unused locks (e.g., mutexes) cannot be part of the cause of an error. 140 Furthermore, two locks can not be taken in inverse order:: 146 deadlock - as attempts to acquire the two locks form a circle which 150 operations; the validator will still find whether these locks can be 167 any rule violation between the new lock and any of the held locks. 185 could interrupt _any_ of the irq-unsafe or hardirq-unsafe locks, which [all …]
|
D | mutex-design.rst | 15 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'
|
/Linux-v5.4/drivers/net/wireless/realtek/rtlwifi/rtl8192de/ |
D | fw.c | 295 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()
|
/Linux-v5.4/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/ |
D | fw.c | 49 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()
|
/Linux-v5.4/Documentation/gpu/ |
D | vgaarbiter.rst | 39 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
|
/Linux-v5.4/drivers/net/wireless/realtek/rtlwifi/rtl8723be/ |
D | fw.c | 47 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()
|
/Linux-v5.4/fs/cifs/ |
D | smb2file.c | 149 list_for_each_entry_safe(li, tmp, &cfile->llist->locks, llist) { in smb2_unlock_range() 186 &cfile->llist->locks); in smb2_unlock_range() 204 cifs_move_llist(&tmp_llist, &cfile->llist->locks); in smb2_unlock_range() 226 list_for_each_entry(li, &fdlocks->locks, llist) { in smb2_push_mand_fdlocks()
|
/Linux-v5.4/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/ |
D | fw.c | 187 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()
|
/Linux-v5.4/Documentation/filesystems/nfs/ |
D | fault_injection.txt | 17 work over NFS (open files, take locks, ...). 23 process the first n items it finds. So if you want to forget 5 locks, echo '5' 46 Clearing this list will force the client to reclaim its locks (files are 69 forgetall locks.
|
/Linux-v5.4/drivers/net/wireless/realtek/rtlwifi/rtl8192c/ |
D | fw_common.c | 204 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()
|
/Linux-v5.4/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/ |
D | fw.c | 197 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl92ee_fill_h2c_command() 204 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, in _rtl92ee_fill_h2c_command() 214 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, in _rtl92ee_fill_h2c_command() 217 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92ee_fill_h2c_command() 220 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92ee_fill_h2c_command() 351 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in _rtl92ee_fill_h2c_command() 353 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in _rtl92ee_fill_h2c_command()
|
/Linux-v5.4/tools/lib/lockdep/ |
D | preload.c | 39 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()
|