Home
last modified time | relevance | path

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

1234567891011

/linux/kernel/locking/
H A Dtest-ww_mutex.c386 struct ww_mutex *locks; member
434 struct ww_mutex *locks = stress->locks; in stress_inorder_work() local
453 err = ww_mutex_lock(&locks[order[n]], &ctx); in stress_inorder_work()
461 ww_mutex_unlock(&locks[order[contended]]); in stress_inorder_work()
464 ww_mutex_unlock(&locks[order[n]]); in stress_inorder_work()
468 ww_mutex_lock_slow(&locks[order[contended]], &ctx); in stress_inorder_work()
492 LIST_HEAD(locks); in stress_reorder_work()
507 ll->lock = &stress->locks[order[n]]; in stress_reorder_work()
508 list_add(&ll->link, &locks); in stress_reorder_work()
516 list_for_each_entry(ll, &locks, link) { in stress_reorder_work()
[all …]
/linux/tools/testing/selftests/bpf/progs/
H A Dres_spin_lock.c87 struct bpf_res_spin_lock *locks[48] = {}; in res_spin_lock_test_held_lock_max() local
92 _Static_assert(ARRAY_SIZE(((struct rqspinlock_held){}).locks) == 31, in res_spin_lock_test_held_lock_max()
104 locks[i] = &e->lock; in res_spin_lock_test_held_lock_max()
116 locks[i] = &e->lock; in res_spin_lock_test_held_lock_max()
121 if (bpf_res_spin_lock(locks[i])) in res_spin_lock_test_held_lock_max()
128 ret = bpf_res_spin_lock(locks[34]); in res_spin_lock_test_held_lock_max()
130 bpf_res_spin_unlock(locks[34]); in res_spin_lock_test_held_lock_max()
139 bpf_res_spin_unlock(locks[i]); in res_spin_lock_test_held_lock_max()
H A Dtest_helper_restricted.c26 } locks SEC(".maps");
52 lock = bpf_map_lookup_elem(&locks, &key); in spin_lock_work()
/linux/lib/
H A 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()
/linux/include/linux/
H A 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()
/linux/drivers/net/wireless/realtek/rtlwifi/
H A 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 …]
H A Dcore.c128 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_start()
132 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_start()
156 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_stop()
171 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_stop()
217 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_add_interface()
304 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_add_interface()
314 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_remove_interface()
339 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_remove_interface()
580 mutex_lock(&rtlpriv->locks.conf_mutex); in rtl_op_config()
759 mutex_unlock(&rtlpriv->locks.conf_mutex); in rtl_op_config()
[all …]
/linux/include/asm-generic/
H A Drqspinlock.h71 void *locks[RES_NR_HELD]; member
95 this_cpu_write(rqspinlock_held_locks.locks[cnt - 1], lock); in grab_held_lock_entry()
116 WRITE_ONCE(rqh->locks[rqh->cnt - 1], NULL); in release_held_lock_entry()
197 WRITE_ONCE(rqh->locks[rqh->cnt - 1], NULL); in res_spin_unlock()
/linux/tools/testing/selftests/ftrace/test.d/ftrace/
H A Dfgraph-multi-filter.tc98 locks_clock_cnt=`function_count locks clock`
99 clock_locks_cnt=`function_count clock locks`
167 check_cnt $locks_clock_cnt locks clock
170 check_cnt $clock_locks_cnt clock locks
/linux/Documentation/mm/
H A Dprocess_addrs.rst36 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/drivers/net/wireless/realtek/rtlwifi/rtl8192d/
H A Dfw_common.c234 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 Dphy_common.h39 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/Documentation/locking/
H A 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 …]
H A 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 …]
H A 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).
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 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
H A 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 …]
/linux/net/unix/
H A Ddiag.c187 spin_lock(&net->unx.table.locks[slot]); in unix_diag_dump()
205 spin_unlock(&net->unx.table.locks[slot]); in unix_diag_dump()
211 spin_unlock(&net->unx.table.locks[slot]); in unix_diag_dump()
226 spin_lock(&net->unx.table.locks[i]); in unix_lookup_by_ino()
230 spin_unlock(&net->unx.table.locks[i]); in unix_lookup_by_ino()
234 spin_unlock(&net->unx.table.locks[i]); in unix_lookup_by_ino()
/linux/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/
H A 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()
/linux/Documentation/gpu/rfc/
H A Dgpusvm.rst13 * No driver specific locks other than locks for hardware interaction in
15 invent driver defined locks to seal core MM races.
27 * Only looking at physical memory data structures and locks as opposed to
28 looking at virtual memory data structures and locks.
38 pagetable locks/mmu notifier range lock/whatever we end up calling
41 should not be handled on the fault side by trying to hold locks;
/linux/Documentation/gpu/
H A 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
/linux/tools/memory-model/
H A Dlinux-kernel.bell58 unmatched-locks = Rcu-lock \ domain(matched)
60 and unmatched = unmatched-locks | unmatched-unlocks
62 and unmatched-locks-to-unlocks =
63 [unmatched-locks] ; po ; [unmatched-unlocks]
64 and matched = matched | (unmatched-locks-to-unlocks \
/linux/drivers/net/wireless/realtek/rtlwifi/rtl8723be/
H A 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()
/linux/Documentation/arch/x86/
H A Dbuslock.rst18 the system locks the bus while the CPU accesses the two cache lines.
29 mechanisms to detect split locks and bus locks. Some AMD processors also
74 |(0 < N <= 1000) | |N bus locks per second |
76 | | |bus locks. |
122 allows a bus lock rate up to N bus locks per second. When the bus lock rate
/linux/arch/x86/kernel/
H A Dmodule.c242 const Elf_Shdr *s, *alt = NULL, *locks = NULL, in module_finalize() local
252 locks = s; in module_finalize()
315 if (locks) { in module_finalize()
316 void *lseg = (void *)locks->sh_addr; in module_finalize()
320 lseg, lseg + locks->sh_size, in module_finalize()

1234567891011