/linux-6.3-rc2/kernel/locking/ |
A D | test-ww_mutex.c | 384 struct ww_mutex *locks; member 422 struct ww_mutex *locks = stress->locks; in stress_inorder_work() local 452 ww_mutex_unlock(&locks[order[n]]); in stress_inorder_work() 480 LIST_HEAD(locks); in stress_reorder_work() 496 list_add(&ll->link, &locks); in stress_reorder_work() 566 struct ww_mutex *locks; in stress() local 569 locks = kmalloc_array(nlocks, sizeof(*locks), GFP_KERNEL); in stress() 570 if (!locks) in stress() 604 stress->locks = locks; in stress() 615 ww_mutex_destroy(&locks[n]); in stress() [all …]
|
/linux-6.3-rc2/tools/memory-model/ |
A 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-6.3-rc2/Documentation/filesystems/ |
A 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. 82 the order until we had acquired all locks). 84 (3) locks on non-directory objects are acquired only after locks on [all …]
|
/linux-6.3-rc2/lib/ |
A 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-6.3-rc2/include/linux/ |
A 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()
|
A D | spinlock.h | 488 int __alloc_bucket_spinlocks(spinlock_t **locks, unsigned int *lock_mask, 493 #define alloc_bucket_spinlocks(locks, lock_mask, max_size, cpu_mult, gfp) \ argument 498 ret = __alloc_bucket_spinlocks(locks, lock_mask, max_size, \ 499 cpu_mult, gfp, #locks, &key); \ 503 void free_bucket_spinlocks(spinlock_t *locks);
|
/linux-6.3-rc2/drivers/net/wireless/realtek/rtlwifi/ |
A D | ps.c | 79 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() 417 mutex_lock(&rtlpriv->locks.lps_mutex); in rtl_lps_enter_core() 437 mutex_lock(&rtlpriv->locks.lps_mutex); in rtl_lps_leave_core() 560 mutex_lock(&rtlpriv->locks.lps_mutex); in rtl_swlps_rf_awake() 595 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl_swlps_rf_sleep() [all …]
|
A D | core.c | 139 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() 1035 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_update_beacon_work_callback() [all …]
|
/linux-6.3-rc2/Documentation/locking/ |
A D | robust-futex-ABI.rst | 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. 89 the kernel will walk this list, mark any such locks with a bit 108 other links between the locks, such as the reverse side of a double 114 up locks held at the time of (a perhaps unexpectedly) exit. 118 existing futex mechanism to wait for, and wakeup, locks. The kernels 120 list 'head' is, and to walk the list on thread exit, handling locks [all …]
|
A 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 143 Furthermore, two locks can not be taken in inverse order:: 200 locks in this fixed order on each of the objects. 366 would place all 8192 locks into a single lock class. 369 initialize your locks. 399 Recursive read locks: 468 acquired recursively. Unlike non-recursive read locks, recursive read locks 493 To be concise, we call that write locks and non-recursive read locks as 494 "non-recursive" locks and recursive read locks as "recursive" locks. [all …]
|
A 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'
|
A D | pi-futex.rst | 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
|
A D | locktypes.rst | 15 - 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 …]
|
/linux-6.3-rc2/drivers/net/wireless/realtek/rtlwifi/rtl8192de/ |
A 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-6.3-rc2/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/ |
A 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-6.3-rc2/net/unix/ |
A D | diag.c | 214 spin_lock(&net->unx.table.locks[slot]); in unix_diag_dump() 224 spin_unlock(&net->unx.table.locks[slot]); in unix_diag_dump() 230 spin_unlock(&net->unx.table.locks[slot]); in unix_diag_dump() 245 spin_lock(&net->unx.table.locks[i]); in unix_lookup_by_ino() 249 spin_unlock(&net->unx.table.locks[i]); in unix_lookup_by_ino() 253 spin_unlock(&net->unx.table.locks[i]); in unix_lookup_by_ino()
|
/linux-6.3-rc2/Documentation/x86/ |
A D | buslock.rst | 18 the system locks the bus while the CPU accesses the two cache lines. 29 mechanisms to detect split locks and bus locks. 67 |(0 < N <= 1000) | |N bus locks per second | 69 | | |bus locks. | 115 allows a bus lock rate up to N bus locks per second. When the bus lock rate
|
/linux-6.3-rc2/Documentation/gpu/ |
A 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-6.3-rc2/drivers/net/wireless/realtek/rtlwifi/rtl8723be/ |
A 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-6.3-rc2/tools/testing/selftests/bpf/progs/ |
A D | test_helper_restricted.c | 26 } locks SEC(".maps"); 52 lock = bpf_map_lookup_elem(&locks, &key); in spin_lock_work()
|
/linux-6.3-rc2/arch/x86/kernel/ |
A D | module.c | 278 const Elf_Shdr *s, *alt = NULL, *locks = NULL, in module_finalize() local 288 locks = s; in module_finalize() 363 if (locks) { in module_finalize() 364 void *lseg = (void *)locks->sh_addr; in module_finalize() 368 lseg, lseg + locks->sh_size, in module_finalize()
|
/linux-6.3-rc2/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/ |
A 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()
|
A D | hw.c | 114 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on() 122 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on() 152 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on() 154 spin_unlock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on() 161 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on() 163 spin_unlock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on() 204 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_off() 212 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_off() 2228 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl88ee_gpio_radio_on_off_checking() 2258 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl88ee_gpio_radio_on_off_checking() [all …]
|
/linux-6.3-rc2/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/ |
A D | fw.c | 194 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()
|
/linux-6.3-rc2/drivers/net/wireless/realtek/rtlwifi/rtl8192c/ |
A 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()
|