/linux/kernel/locking/ |
H A D | test-ww_mutex.c | 386 struct ww_mutex *locks; member 437 struct ww_mutex *locks = stress->locks; in stress_inorder_work() local 456 err = ww_mutex_lock(&locks[order[n]], &ctx); in stress_inorder_work() 464 ww_mutex_unlock(&locks[order[contended]]); in stress_inorder_work() 467 ww_mutex_unlock(&locks[order[n]]); in stress_inorder_work() 471 ww_mutex_lock_slow(&locks[order[contended]], &ctx); in stress_inorder_work() 495 LIST_HEAD(locks); in stress_reorder_work() 510 ll->lock = &stress->locks[order[n]]; in stress_reorder_work() 511 list_add(&ll->link, &locks); in stress_reorder_work() 519 list_for_each_entry(ll, &locks, link) { in stress_reorder_work() [all …]
|
/linux/lib/ |
H 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/Documentation/mm/ |
H A D | process_addrs.rst | 36 on VMA **metadata** so a complicated set of locks are required to ensure memory 45 * **mmap locks** - Each MM has a read/write semaphore :c:member:`!mmap_lock` 46 which locks at a process address space granularity which can be acquired via 48 * **VMA locks** - The VMA lock is at VMA granularity (of course) which behaves 51 write lock via :c:func:`!vma_start_write` (all VMA write locks are unlocked 54 * **rmap locks** - When trying to access VMAs through the reverse mapping via a 60 locks as the reverse mapping locks, or 'rmap locks' for brevity. 62 We discuss page table locks separately in the dedicated section below. 64 The first thing **any** of these locks achieve is to **stabilise** the VMA 99 VMA locks are special in that you must obtain an mmap **write** lock **first** [all …]
|
/linux/include/linux/ |
H 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()
|
H A D | spinlock.h | 518 int __alloc_bucket_spinlocks(spinlock_t **locks, unsigned int *lock_mask, 523 #define alloc_bucket_spinlocks(locks, lock_mask, max_size, cpu_mult, gfp) \ argument 528 ret = __alloc_bucket_spinlocks(locks, lock_mask, max_size, \ 529 cpu_mult, gfp, #locks, &key); \ 533 void free_bucket_spinlocks(spinlock_t *locks);
|
/linux/drivers/net/wireless/realtek/rtlwifi/ |
H 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() 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 …]
|
H 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() 770 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_config() [all …]
|
/linux/Documentation/locking/ |
H 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. 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 …]
|
H 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 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 …]
|
H 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). 104 Mutexes - and most other sleeping locks like rwsems - do not provide an 161 locks in the kernel. E.g: on x86-64 it is 32 bytes, where 'struct semaphore'
|
H 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
|
H 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/drivers/net/wireless/realtek/rtlwifi/rtl8192d/ |
H A D | fw_common.c | 234 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in rtl92d_fill_h2c_cmd() 241 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, in rtl92d_fill_h2c_cmd() 252 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, in rtl92d_fill_h2c_cmd() 255 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in rtl92d_fill_h2c_cmd() 258 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in rtl92d_fill_h2c_cmd() 356 spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag); in rtl92d_fill_h2c_cmd() 358 spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag); in rtl92d_fill_h2c_cmd()
|
H A D | phy_common.h | 39 spin_lock_irqsave(&rtlpriv->locks.cck_and_rw_pagea_lock, *flag); in rtl92d_acquire_cckandrw_pagea_ctl() 51 spin_unlock_irqrestore(&rtlpriv->locks.cck_and_rw_pagea_lock, in rtl92d_release_cckandrw_pagea_ctl() 99 spin_lock(&rtlpriv->locks.rf_lock); in rtl92d_pci_lock() 105 spin_unlock(&rtlpriv->locks.rf_lock); in rtl92d_pci_unlock()
|
/linux/net/unix/ |
H A D | diag.c | 185 spin_lock(&net->unx.table.locks[slot]); in unix_diag_dump() 203 spin_unlock(&net->unx.table.locks[slot]); in unix_diag_dump() 209 spin_unlock(&net->unx.table.locks[slot]); in unix_diag_dump() 224 spin_lock(&net->unx.table.locks[i]); in unix_lookup_by_ino() 228 spin_unlock(&net->unx.table.locks[i]); in unix_lookup_by_ino() 232 spin_unlock(&net->unx.table.locks[i]); in unix_lookup_by_ino()
|
/linux/tools/memory-model/ |
H A D | linux-kernel.bell | 46 unmatched-locks = Rcu-lock \ domain(matched) 48 and unmatched = unmatched-locks | unmatched-unlocks 50 and unmatched-locks-to-unlocks = 51 [unmatched-locks] ; po ; [unmatched-unlocks] 52 and matched = matched | (unmatched-locks-to-unlocks \
|
/linux/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/ |
H 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/Documentation/gpu/ |
H 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/drivers/net/wireless/realtek/rtlwifi/rtl8723be/ |
H 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/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/ |
H 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()
|
H A D | hw.c | 75 spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags); in _rtl88ee_return_beacon_queue_skb() 87 spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, flags); in _rtl88ee_return_beacon_queue_skb() 114 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on() 117 spin_unlock_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() 124 spin_unlock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on() 127 spin_unlock_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() [all …]
|
/linux/tools/testing/selftests/bpf/progs/ |
H A D | test_helper_restricted.c | 26 } locks SEC(".maps"); 52 lock = bpf_map_lookup_elem(&locks, &key); in spin_lock_work()
|
/linux/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/ |
H 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/drivers/net/wireless/realtek/rtlwifi/rtl8192c/ |
H 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()
|
/linux/drivers/pci/ |
H A D | vgaarb.c | 47 unsigned int locks; /* what it locks */ member 273 if (conflict->locks & lwants) in __vga_tryget() 344 vgadev->locks |= (rsrc & VGA_RSRC_LEGACY_MASK); in __vga_tryget() 360 unsigned int old_locks = vgadev->locks; in __vga_put() 388 vgadev->locks &= ~VGA_RSRC_LEGACY_IO; in __vga_put() 390 vgadev->locks &= ~VGA_RSRC_LEGACY_MEM; in __vga_put() 396 if (old_locks != vgadev->locks) in __vga_put() 834 vga_iostate_to_str(vgadev->locks)); in vga_arbiter_add_pci_device() 882 unsigned int decodes_unlocked = vgadev->locks & decodes_removed; in vga_update_device_decodes() 1135 vga_iostate_to_str(vgadev->locks), in vga_arb_read()
|