Home
last modified time | relevance | path

Searched refs:lock (Results 1 - 25 of 12245) sorted by relevance

12345678910>>...490

/kernel/linux/linux-6.6/include/linux/
H A Drwlock_api_smp.h18 void __lockfunc _raw_read_lock(rwlock_t *lock) __acquires(lock); variable
19 void __lockfunc _raw_write_lock(rwlock_t *lock) __acquires(lock); variable
20 void __lockfunc _raw_write_lock_nested(rwlock_t *lock, int subclass) __acquires(lock); variable
21 void __lockfunc _raw_read_lock_bh(rwlock_t *lock) __acquires(lock); variable
22 void __lockfunc _raw_write_lock_bh(rwlock_t *lock) __acquires(lock); variable
23 void __lockfunc _raw_read_lock_irq(rwlock_t *lock) __acquires(lock); global() variable
24 void __lockfunc _raw_write_lock_irq(rwlock_t *lock) __acquires(lock); global() variable
26 __acquires(lock); global() variable
28 __acquires(lock); global() variable
31 void __lockfunc _raw_read_unlock(rwlock_t *lock) __releases(lock); global() variable
32 void __lockfunc _raw_write_unlock(rwlock_t *lock) __releases(lock); global() variable
33 void __lockfunc _raw_read_unlock_bh(rwlock_t *lock) __releases(lock); global() variable
34 void __lockfunc _raw_write_unlock_bh(rwlock_t *lock) __releases(lock); global() variable
35 void __lockfunc _raw_read_unlock_irq(rwlock_t *lock) __releases(lock); global() variable
36 void __lockfunc _raw_write_unlock_irq(rwlock_t *lock) __releases(lock); global() variable
39 __releases(lock); global() variable
42 __releases(lock); global() variable
118 __raw_read_trylock(rwlock_t *lock) __raw_read_trylock() argument
129 __raw_write_trylock(rwlock_t *lock) __raw_write_trylock() argument
147 __raw_read_lock(rwlock_t *lock) __raw_read_lock() argument
154 __raw_read_lock_irqsave(rwlock_t *lock) __raw_read_lock_irqsave() argument
165 __raw_read_lock_irq(rwlock_t *lock) __raw_read_lock_irq() argument
173 __raw_read_lock_bh(rwlock_t *lock) __raw_read_lock_bh() argument
180 __raw_write_lock_irqsave(rwlock_t *lock) __raw_write_lock_irqsave() argument
191 __raw_write_lock_irq(rwlock_t *lock) __raw_write_lock_irq() argument
199 __raw_write_lock_bh(rwlock_t *lock) __raw_write_lock_bh() argument
206 __raw_write_lock(rwlock_t *lock) __raw_write_lock() argument
213 __raw_write_lock_nested(rwlock_t *lock, int subclass) __raw_write_lock_nested() argument
222 __raw_write_unlock(rwlock_t *lock) __raw_write_unlock() argument
229 __raw_read_unlock(rwlock_t *lock) __raw_read_unlock() argument
237 __raw_read_unlock_irqrestore(rwlock_t *lock, unsigned long flags) __raw_read_unlock_irqrestore() argument
245 __raw_read_unlock_irq(rwlock_t *lock) __raw_read_unlock_irq() argument
253 __raw_read_unlock_bh(rwlock_t *lock) __raw_read_unlock_bh() argument
260 __raw_write_unlock_irqrestore(rwlock_t *lock, unsigned long flags) __raw_write_unlock_irqrestore() argument
269 __raw_write_unlock_irq(rwlock_t *lock) __raw_write_unlock_irq() argument
277 __raw_write_unlock_bh(rwlock_t *lock) __raw_write_unlock_bh() argument
[all...]
H A Dspinlock_api_up.h19 #define assert_raw_spin_locked(lock) do { (void)(lock); } while (0)
24 * flags straight, to suppress compiler warnings of unused lock
27 #define ___LOCK(lock) \
28 do { __acquire(lock); (void)(lock); } while (0)
30 #define __LOCK(lock) \
31 do { preempt_disable(); ___LOCK(lock); } while (0)
33 #define __LOCK_BH(lock) \
34 do { __local_bh_disable_ip(_THIS_IP_, SOFTIRQ_LOCK_OFFSET); ___LOCK(lock); } whil
[all...]
H A Dspinlock.h72 #define LOCK_SECTION_NAME ".text..lock."KBUILD_BASENAME
101 extern void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name,
104 # define raw_spin_lock_init(lock) \
108 __raw_spin_lock_init((lock), #lock, &__key, LD_WAIT_SPIN); \
112 # define raw_spin_lock_init(lock) \
113 do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0)
116 #define raw_spin_is_locked(lock) arch_spin_is_locked(&(lock)
180 extern void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock); global() variable
182 extern void do_raw_spin_unlock(raw_spinlock_t *lock) __releases(lock); global() variable
191 do_raw_spin_trylock(raw_spinlock_t *lock) do_raw_spin_trylock() argument
324 spinlock_check(spinlock_t *lock) spinlock_check() argument
349 spin_lock(spinlock_t *lock) spin_lock() argument
354 spin_lock_bh(spinlock_t *lock) spin_lock_bh() argument
359 spin_trylock(spinlock_t *lock) spin_trylock() argument
374 spin_lock_irq(spinlock_t *lock) spin_lock_irq() argument
389 spin_unlock(spinlock_t *lock) spin_unlock() argument
394 spin_unlock_bh(spinlock_t *lock) spin_unlock_bh() argument
399 spin_unlock_irq(spinlock_t *lock) spin_unlock_irq() argument
404 spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags) spin_unlock_irqrestore() argument
409 spin_trylock_bh(spinlock_t *lock) spin_trylock_bh() argument
414 spin_trylock_irq(spinlock_t *lock) spin_trylock_irq() argument
442 spin_is_locked(spinlock_t *lock) spin_is_locked() argument
447 spin_is_contended(spinlock_t *lock) spin_is_contended() argument
[all...]
H A Drwlock.h18 extern void __rwlock_init(rwlock_t *lock, const char *name,
20 # define rwlock_init(lock) \
24 __rwlock_init((lock), #lock, &__key); \
27 # define rwlock_init(lock) \
28 do { *(lock) = __RW_LOCK_UNLOCKED(lock); } while (0)
32 extern void do_raw_read_lock(rwlock_t *lock) __acquires(lock); variable
33 extern int do_raw_read_trylock(rwlock_t *lock);
34 extern void do_raw_read_unlock(rwlock_t *lock) __releases(lock); global() variable
35 extern void do_raw_write_lock(rwlock_t *lock) __acquires(lock); global() variable
37 extern void do_raw_write_unlock(rwlock_t *lock) __releases(lock); global() variable
[all...]
H A Dspinlock_rt.h10 extern void __rt_spin_lock_init(spinlock_t *lock, const char *name,
13 static inline void __rt_spin_lock_init(spinlock_t *lock, const char *name, in __rt_spin_lock_init() argument
23 rt_mutex_base_init(&(slock)->lock); \
31 rt_mutex_base_init(&(slock)->lock); \
35 extern void rt_spin_lock(spinlock_t *lock);
36 extern void rt_spin_lock_nested(spinlock_t *lock, int subclass);
37 extern void rt_spin_lock_nest_lock(spinlock_t *lock, struct lockdep_map *nest_lock);
38 extern void rt_spin_unlock(spinlock_t *lock);
39 extern void rt_spin_lock_unlock(spinlock_t *lock);
40 extern int rt_spin_trylock_bh(spinlock_t *lock);
43 spin_lock(spinlock_t *lock) spin_lock() argument
85 spin_lock_bh(spinlock_t *lock) spin_lock_bh() argument
92 spin_lock_irq(spinlock_t *lock) spin_lock_irq() argument
104 spin_unlock(spinlock_t *lock) spin_unlock() argument
109 spin_unlock_bh(spinlock_t *lock) spin_unlock_bh() argument
115 spin_unlock_irq(spinlock_t *lock) spin_unlock_irq() argument
120 spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags) spin_unlock_irqrestore() argument
150 spin_is_locked(spinlock_t *lock) spin_is_locked() argument
[all...]
H A Dspinlock_api_smp.h22 void __lockfunc _raw_spin_lock(raw_spinlock_t *lock) __acquires(lock); variable
23 void __lockfunc _raw_spin_lock_nested(raw_spinlock_t *lock, int subclass)
24 __acquires(lock); variable
26 _raw_spin_lock_nest_lock(raw_spinlock_t *lock, struct lockdep_map *map)
27 __acquires(lock); variable
28 void __lockfunc _raw_spin_lock_bh(raw_spinlock_t *lock) __acquires(lock); variable
29 void __lockfunc _raw_spin_lock_irq(raw_spinlock_t *lock)
30 __acquires(lock); variable
33 __acquires(lock); global() variable
36 __acquires(lock); global() variable
39 void __lockfunc _raw_spin_unlock(raw_spinlock_t *lock) __releases(lock); global() variable
40 void __lockfunc _raw_spin_unlock_bh(raw_spinlock_t *lock) __releases(lock); global() variable
41 void __lockfunc _raw_spin_unlock_irq(raw_spinlock_t *lock) __releases(lock); global() variable
44 __releases(lock); global() variable
86 __raw_spin_trylock(raw_spinlock_t *lock) __raw_spin_trylock() argument
104 __raw_spin_lock_irqsave(raw_spinlock_t *lock) __raw_spin_lock_irqsave() argument
115 __raw_spin_lock_irq(raw_spinlock_t *lock) __raw_spin_lock_irq() argument
123 __raw_spin_lock_bh(raw_spinlock_t *lock) __raw_spin_lock_bh() argument
130 __raw_spin_lock(raw_spinlock_t *lock) __raw_spin_lock() argument
139 __raw_spin_unlock(raw_spinlock_t *lock) __raw_spin_unlock() argument
146 __raw_spin_unlock_irqrestore(raw_spinlock_t *lock, unsigned long flags) __raw_spin_unlock_irqrestore() argument
155 __raw_spin_unlock_irq(raw_spinlock_t *lock) __raw_spin_unlock_irq() argument
163 __raw_spin_unlock_bh(raw_spinlock_t *lock) __raw_spin_unlock_bh() argument
170 __raw_spin_trylock_bh(raw_spinlock_t *lock) __raw_spin_trylock_bh() argument
[all...]
/kernel/linux/linux-5.10/include/linux/
H A Drwlock_api_smp.h18 void __lockfunc _raw_read_lock(rwlock_t *lock) __acquires(lock); variable
19 void __lockfunc _raw_write_lock(rwlock_t *lock) __acquires(lock); variable
20 void __lockfunc _raw_read_lock_bh(rwlock_t *lock) __acquires(lock); variable
21 void __lockfunc _raw_write_lock_bh(rwlock_t *lock) __acquires(lock); variable
22 void __lockfunc _raw_read_lock_irq(rwlock_t *lock) __acquires(lock); variable
23 void __lockfunc _raw_write_lock_irq(rwlock_t *lock) __acquires(lock); global() variable
25 __acquires(lock); global() variable
27 __acquires(lock); global() variable
30 void __lockfunc _raw_read_unlock(rwlock_t *lock) __releases(lock); global() variable
31 void __lockfunc _raw_write_unlock(rwlock_t *lock) __releases(lock); global() variable
32 void __lockfunc _raw_read_unlock_bh(rwlock_t *lock) __releases(lock); global() variable
33 void __lockfunc _raw_write_unlock_bh(rwlock_t *lock) __releases(lock); global() variable
34 void __lockfunc _raw_read_unlock_irq(rwlock_t *lock) __releases(lock); global() variable
35 void __lockfunc _raw_write_unlock_irq(rwlock_t *lock) __releases(lock); global() variable
38 __releases(lock); global() variable
41 __releases(lock); global() variable
117 __raw_read_trylock(rwlock_t *lock) __raw_read_trylock() argument
128 __raw_write_trylock(rwlock_t *lock) __raw_write_trylock() argument
146 __raw_read_lock(rwlock_t *lock) __raw_read_lock() argument
153 __raw_read_lock_irqsave(rwlock_t *lock) __raw_read_lock_irqsave() argument
165 __raw_read_lock_irq(rwlock_t *lock) __raw_read_lock_irq() argument
173 __raw_read_lock_bh(rwlock_t *lock) __raw_read_lock_bh() argument
180 __raw_write_lock_irqsave(rwlock_t *lock) __raw_write_lock_irqsave() argument
192 __raw_write_lock_irq(rwlock_t *lock) __raw_write_lock_irq() argument
200 __raw_write_lock_bh(rwlock_t *lock) __raw_write_lock_bh() argument
207 __raw_write_lock(rwlock_t *lock) __raw_write_lock() argument
216 __raw_write_unlock(rwlock_t *lock) __raw_write_unlock() argument
223 __raw_read_unlock(rwlock_t *lock) __raw_read_unlock() argument
231 __raw_read_unlock_irqrestore(rwlock_t *lock, unsigned long flags) __raw_read_unlock_irqrestore() argument
239 __raw_read_unlock_irq(rwlock_t *lock) __raw_read_unlock_irq() argument
247 __raw_read_unlock_bh(rwlock_t *lock) __raw_read_unlock_bh() argument
254 __raw_write_unlock_irqrestore(rwlock_t *lock, unsigned long flags) __raw_write_unlock_irqrestore() argument
263 __raw_write_unlock_irq(rwlock_t *lock) __raw_write_unlock_irq() argument
271 __raw_write_unlock_bh(rwlock_t *lock) __raw_write_unlock_bh() argument
[all...]
H A Dspinlock_api_up.h19 #define assert_raw_spin_locked(lock) do { (void)(lock); } while (0)
24 * flags straight, to suppress compiler warnings of unused lock
27 #define ___LOCK(lock) \
28 do { __acquire(lock); (void)(lock); } while (0)
30 #define __LOCK(lock) \
31 do { preempt_disable(); ___LOCK(lock); } while (0)
33 #define __LOCK_BH(lock) \
34 do { __local_bh_disable_ip(_THIS_IP_, SOFTIRQ_LOCK_OFFSET); ___LOCK(lock); } whil
[all...]
H A Drwlock.h18 extern void __rwlock_init(rwlock_t *lock, const char *name,
20 # define rwlock_init(lock) \
24 __rwlock_init((lock), #lock, &__key); \
27 # define rwlock_init(lock) \
28 do { *(lock) = __RW_LOCK_UNLOCKED(lock); } while (0)
32 extern void do_raw_read_lock(rwlock_t *lock) __acquires(lock); variable
33 #define do_raw_read_lock_flags(lock, flag
35 extern void do_raw_read_unlock(rwlock_t *lock) __releases(lock); global() variable
36 extern void do_raw_write_lock(rwlock_t *lock) __acquires(lock); global() variable
39 extern void do_raw_write_unlock(rwlock_t *lock) __releases(lock); global() variable
[all...]
H A Dspinlock.h67 #define LOCK_SECTION_NAME ".text..lock."KBUILD_BASENAME
96 extern void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name,
99 # define raw_spin_lock_init(lock) \
103 __raw_spin_lock_init((lock), #lock, &__key, LD_WAIT_SPIN); \
107 # define raw_spin_lock_init(lock) \
108 do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0)
111 #define raw_spin_is_locked(lock) arch_spin_is_locked(&(lock)
175 extern void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock); global() variable
178 extern void do_raw_spin_unlock(raw_spinlock_t *lock) __releases(lock); global() variable
199 do_raw_spin_trylock(raw_spinlock_t *lock) do_raw_spin_trylock() argument
327 spinlock_check(spinlock_t *lock) spinlock_check() argument
352 spin_lock(spinlock_t *lock) spin_lock() argument
357 spin_lock_bh(spinlock_t *lock) spin_lock_bh() argument
362 spin_trylock(spinlock_t *lock) spin_trylock() argument
377 spin_lock_irq(spinlock_t *lock) spin_lock_irq() argument
392 spin_unlock(spinlock_t *lock) spin_unlock() argument
397 spin_unlock_bh(spinlock_t *lock) spin_unlock_bh() argument
402 spin_unlock_irq(spinlock_t *lock) spin_unlock_irq() argument
407 spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags) spin_unlock_irqrestore() argument
412 spin_trylock_bh(spinlock_t *lock) spin_trylock_bh() argument
417 spin_trylock_irq(spinlock_t *lock) spin_trylock_irq() argument
445 spin_is_locked(spinlock_t *lock) spin_is_locked() argument
450 spin_is_contended(spinlock_t *lock) spin_is_contended() argument
[all...]
H A Dspinlock_api_smp.h22 void __lockfunc _raw_spin_lock(raw_spinlock_t *lock) __acquires(lock); variable
23 void __lockfunc _raw_spin_lock_nested(raw_spinlock_t *lock, int subclass)
24 __acquires(lock); variable
26 _raw_spin_lock_nest_lock(raw_spinlock_t *lock, struct lockdep_map *map)
27 __acquires(lock); variable
28 void __lockfunc _raw_spin_lock_bh(raw_spinlock_t *lock) __acquires(lock); variable
29 void __lockfunc _raw_spin_lock_irq(raw_spinlock_t *lock)
30 __acquires(lock); variable
33 __acquires(lock); global() variable
36 __acquires(lock); global() variable
39 void __lockfunc _raw_spin_unlock(raw_spinlock_t *lock) __releases(lock); global() variable
40 void __lockfunc _raw_spin_unlock_bh(raw_spinlock_t *lock) __releases(lock); global() variable
41 void __lockfunc _raw_spin_unlock_irq(raw_spinlock_t *lock) __releases(lock); global() variable
44 __releases(lock); global() variable
86 __raw_spin_trylock(raw_spinlock_t *lock) __raw_spin_trylock() argument
104 __raw_spin_lock_irqsave(raw_spinlock_t *lock) __raw_spin_lock_irqsave() argument
124 __raw_spin_lock_irq(raw_spinlock_t *lock) __raw_spin_lock_irq() argument
132 __raw_spin_lock_bh(raw_spinlock_t *lock) __raw_spin_lock_bh() argument
139 __raw_spin_lock(raw_spinlock_t *lock) __raw_spin_lock() argument
148 __raw_spin_unlock(raw_spinlock_t *lock) __raw_spin_unlock() argument
155 __raw_spin_unlock_irqrestore(raw_spinlock_t *lock, unsigned long flags) __raw_spin_unlock_irqrestore() argument
164 __raw_spin_unlock_irq(raw_spinlock_t *lock) __raw_spin_unlock_irq() argument
172 __raw_spin_unlock_bh(raw_spinlock_t *lock) __raw_spin_unlock_bh() argument
179 __raw_spin_trylock_bh(raw_spinlock_t *lock) __raw_spin_trylock_bh() argument
[all...]
H A Dspinlock_up.h29 static inline void arch_spin_lock(arch_spinlock_t *lock) in arch_spin_lock() argument
31 lock->slock = 0; in arch_spin_lock()
35 static inline int arch_spin_trylock(arch_spinlock_t *lock) in arch_spin_trylock() argument
37 char oldval = lock->slock; in arch_spin_trylock()
39 lock->slock = 0; in arch_spin_trylock()
45 static inline void arch_spin_unlock(arch_spinlock_t *lock) in arch_spin_unlock() argument
48 lock->slock = 1; in arch_spin_unlock()
54 #define arch_read_lock(lock) do { barrier(); (void)(lock); } while (0)
55 #define arch_write_lock(lock) d
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/vmwgfx/
H A Dttm_lock.c45 void ttm_lock_init(struct ttm_lock *lock) in ttm_lock_init() argument
47 spin_lock_init(&lock->lock); in ttm_lock_init()
48 init_waitqueue_head(&lock->queue); in ttm_lock_init()
49 lock->rw = 0; in ttm_lock_init()
50 lock->flags = 0; in ttm_lock_init()
53 void ttm_read_unlock(struct ttm_lock *lock) in ttm_read_unlock() argument
55 spin_lock(&lock->lock); in ttm_read_unlock()
56 if (--lock in ttm_read_unlock()
61 __ttm_read_lock(struct ttm_lock *lock) __ttm_read_lock() argument
74 ttm_read_lock(struct ttm_lock *lock, bool interruptible) ttm_read_lock() argument
86 __ttm_read_trylock(struct ttm_lock *lock, bool *locked) __ttm_read_trylock() argument
105 ttm_read_trylock(struct ttm_lock *lock, bool interruptible) ttm_read_trylock() argument
124 ttm_write_unlock(struct ttm_lock *lock) ttm_write_unlock() argument
132 __ttm_write_lock(struct ttm_lock *lock) __ttm_write_lock() argument
148 ttm_write_lock(struct ttm_lock *lock, bool interruptible) ttm_write_lock() argument
167 ttm_suspend_unlock(struct ttm_lock *lock) ttm_suspend_unlock() argument
175 __ttm_suspend_lock(struct ttm_lock *lock) __ttm_suspend_lock() argument
191 ttm_suspend_lock(struct ttm_lock *lock) ttm_suspend_lock() argument
[all...]
/kernel/linux/linux-5.10/kernel/locking/
H A Dspinlock_debug.c16 void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name, in __raw_spin_lock_init() argument
21 * Make sure we are not reinitializing a held lock: in __raw_spin_lock_init()
23 debug_check_no_locks_freed((void *)lock, sizeof(*lock)); in __raw_spin_lock_init()
24 lockdep_init_map_wait(&lock->dep_map, name, key, 0, inner); in __raw_spin_lock_init()
26 lock->raw_lock = (arch_spinlock_t)__ARCH_SPIN_LOCK_UNLOCKED; in __raw_spin_lock_init()
27 lock->magic = SPINLOCK_MAGIC; in __raw_spin_lock_init()
28 lock->owner = SPINLOCK_OWNER_INIT; in __raw_spin_lock_init()
29 lock->owner_cpu = -1; in __raw_spin_lock_init()
34 void __rwlock_init(rwlock_t *lock, cons argument
52 spin_dump(raw_spinlock_t *lock, const char *msg) spin_dump() argument
70 spin_bug(raw_spinlock_t *lock, const char *msg) spin_bug() argument
81 debug_spin_lock_before(raw_spinlock_t *lock) debug_spin_lock_before() argument
89 debug_spin_lock_after(raw_spinlock_t *lock) debug_spin_lock_after() argument
95 debug_spin_unlock(raw_spinlock_t *lock) debug_spin_unlock() argument
110 do_raw_spin_lock(raw_spinlock_t *lock) do_raw_spin_lock() argument
118 do_raw_spin_trylock(raw_spinlock_t *lock) do_raw_spin_trylock() argument
135 do_raw_spin_unlock(raw_spinlock_t *lock) do_raw_spin_unlock() argument
142 rwlock_bug(rwlock_t *lock, const char *msg) rwlock_bug() argument
155 do_raw_read_lock(rwlock_t *lock) do_raw_read_lock() argument
161 do_raw_read_trylock(rwlock_t *lock) do_raw_read_trylock() argument
174 do_raw_read_unlock(rwlock_t *lock) do_raw_read_unlock() argument
180 debug_write_lock_before(rwlock_t *lock) debug_write_lock_before() argument
188 debug_write_lock_after(rwlock_t *lock) debug_write_lock_after() argument
194 debug_write_unlock(rwlock_t *lock) debug_write_unlock() argument
204 do_raw_write_lock(rwlock_t *lock) do_raw_write_lock() argument
211 do_raw_write_trylock(rwlock_t *lock) do_raw_write_trylock() argument
226 do_raw_write_unlock(rwlock_t *lock) do_raw_write_unlock() argument
[all...]
H A Dspinlock.c35 * not re-enabled during lock-acquire (which the preempt-spin-ops do):
46 * Some architectures can relax in favour of the CPU owning the lock.
63 * This could be a long-held lock. We both prepare to spin for a long
65 * towards that other CPU that it should break the lock ASAP.
68 void __lockfunc __raw_##op##_lock(locktype##_t *lock) \
72 if (likely(do_raw_##op##_trylock(lock))) \
76 arch_##op##_relax(&lock->raw_lock); \
80 unsigned long __lockfunc __raw_##op##_lock_irqsave(locktype##_t *lock) \
87 if (likely(do_raw_##op##_trylock(lock))) \
92 arch_##op##_relax(&lock
133 _raw_spin_trylock(raw_spinlock_t *lock) _raw_spin_trylock() argument
141 _raw_spin_trylock_bh(raw_spinlock_t *lock) _raw_spin_trylock_bh() argument
149 _raw_spin_lock(raw_spinlock_t *lock) _raw_spin_lock() argument
157 _raw_spin_lock_irqsave(raw_spinlock_t *lock) _raw_spin_lock_irqsave() argument
165 _raw_spin_lock_irq(raw_spinlock_t *lock) _raw_spin_lock_irq() argument
173 _raw_spin_lock_bh(raw_spinlock_t *lock) _raw_spin_lock_bh() argument
181 _raw_spin_unlock(raw_spinlock_t *lock) _raw_spin_unlock() argument
189 _raw_spin_unlock_irqrestore(raw_spinlock_t *lock, unsigned long flags) _raw_spin_unlock_irqrestore() argument
197 _raw_spin_unlock_irq(raw_spinlock_t *lock) _raw_spin_unlock_irq() argument
205 _raw_spin_unlock_bh(raw_spinlock_t *lock) _raw_spin_unlock_bh() argument
213 _raw_read_trylock(rwlock_t *lock) _raw_read_trylock() argument
221 _raw_read_lock(rwlock_t *lock) _raw_read_lock() argument
229 _raw_read_lock_irqsave(rwlock_t *lock) _raw_read_lock_irqsave() argument
237 _raw_read_lock_irq(rwlock_t *lock) _raw_read_lock_irq() argument
245 _raw_read_lock_bh(rwlock_t *lock) _raw_read_lock_bh() argument
253 _raw_read_unlock(rwlock_t *lock) _raw_read_unlock() argument
261 _raw_read_unlock_irqrestore(rwlock_t *lock, unsigned long flags) _raw_read_unlock_irqrestore() argument
269 _raw_read_unlock_irq(rwlock_t *lock) _raw_read_unlock_irq() argument
277 _raw_read_unlock_bh(rwlock_t *lock) _raw_read_unlock_bh() argument
285 _raw_write_trylock(rwlock_t *lock) _raw_write_trylock() argument
293 _raw_write_lock(rwlock_t *lock) _raw_write_lock() argument
301 _raw_write_lock_irqsave(rwlock_t *lock) _raw_write_lock_irqsave() argument
309 _raw_write_lock_irq(rwlock_t *lock) _raw_write_lock_irq() argument
317 _raw_write_lock_bh(rwlock_t *lock) _raw_write_lock_bh() argument
325 _raw_write_unlock(rwlock_t *lock) _raw_write_unlock() argument
333 _raw_write_unlock_irqrestore(rwlock_t *lock, unsigned long flags) _raw_write_unlock_irqrestore() argument
341 _raw_write_unlock_irq(rwlock_t *lock) _raw_write_unlock_irq() argument
349 _raw_write_unlock_bh(rwlock_t *lock) _raw_write_unlock_bh() argument
358 _raw_spin_lock_nested(raw_spinlock_t *lock, int subclass) _raw_spin_lock_nested() argument
366 _raw_spin_lock_irqsave_nested(raw_spinlock_t *lock, int subclass) _raw_spin_lock_irqsave_nested() argument
380 _raw_spin_lock_nest_lock(raw_spinlock_t *lock, struct lockdep_map *nest_lock) _raw_spin_lock_nest_lock() argument
[all...]
H A Drtmutex.c26 * lock->owner state tracking:
28 * lock->owner holds the task_struct pointer of the owner. Bit 0
29 * is used to keep track of the "lock has waiters" state.
32 * NULL 0 lock is free (fast acquire possible)
33 * NULL 1 lock is free and has waiters and the top waiter
34 * is going to take the lock*
35 * taskpointer 0 lock is held (fast release possible)
36 * taskpointer 1 lock is held and has waiters**
39 * possible when bit 0 of lock->owner is 0.
41 * (*) It also can be a transitional state when grabbing the lock
53 rt_mutex_set_owner(struct rt_mutex *lock, struct task_struct *owner) rt_mutex_set_owner() argument
63 clear_rt_mutex_waiters(struct rt_mutex *lock) clear_rt_mutex_waiters() argument
69 fixup_rt_mutex_waiters(struct rt_mutex *lock) fixup_rt_mutex_waiters() argument
152 mark_rt_mutex_waiters(struct rt_mutex *lock) mark_rt_mutex_waiters() argument
174 clear_rt_mutex_waiters(lock); global() variable
207 mark_rt_mutex_waiters(struct rt_mutex *lock) mark_rt_mutex_waiters() argument
271 rt_mutex_enqueue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) rt_mutex_enqueue() argument
294 rt_mutex_dequeue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) rt_mutex_dequeue() argument
457 struct rt_mutex *lock; rt_mutex_adjust_prio_chain() local
805 try_to_take_rt_mutex(struct rt_mutex *lock, struct task_struct *task, struct rt_mutex_waiter *waiter) try_to_take_rt_mutex() argument
926 task_blocks_on_rt_mutex(struct rt_mutex *lock, struct rt_mutex_waiter *waiter, struct task_struct *task, enum rtmutex_chainwalk chwalk) task_blocks_on_rt_mutex() argument
1015 mark_wakeup_next_waiter(struct wake_q_head *wake_q, struct rt_mutex *lock) mark_wakeup_next_waiter() argument
1065 remove_waiter(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) remove_waiter() argument
1165 __rt_mutex_slowlock(struct rt_mutex *lock, int state, struct hrtimer_sleeper *timeout, struct rt_mutex_waiter *waiter) __rt_mutex_slowlock() argument
1228 rt_mutex_slowlock(struct rt_mutex *lock, int state, struct hrtimer_sleeper *timeout, enum rtmutex_chainwalk chwalk) rt_mutex_slowlock() argument
1289 __rt_mutex_slowtrylock(struct rt_mutex *lock) __rt_mutex_slowtrylock() argument
1305 rt_mutex_slowtrylock(struct rt_mutex *lock) rt_mutex_slowtrylock() argument
1336 rt_mutex_slowunlock(struct rt_mutex *lock, struct wake_q_head *wake_q) rt_mutex_slowunlock() argument
1404 rt_mutex_fastlock(struct rt_mutex *lock, int state, int (*slowfn)(struct rt_mutex *lock, int state, struct hrtimer_sleeper *timeout, enum rtmutex_chainwalk chwalk)) rt_mutex_fastlock() argument
1416 rt_mutex_timed_fastlock(struct rt_mutex *lock, int state, struct hrtimer_sleeper *timeout, enum rtmutex_chainwalk chwalk, int (*slowfn)(struct rt_mutex *lock, int state, struct hrtimer_sleeper *timeout, enum rtmutex_chainwalk chwalk)) rt_mutex_timed_fastlock() argument
1431 rt_mutex_fasttrylock(struct rt_mutex *lock, int (*slowfn)(struct rt_mutex *lock)) rt_mutex_fasttrylock() argument
1452 rt_mutex_fastunlock(struct rt_mutex *lock, bool (*slowfn)(struct rt_mutex *lock, struct wake_q_head *wqh)) rt_mutex_fastunlock() argument
1465 __rt_mutex_lock(struct rt_mutex *lock, unsigned int subclass) __rt_mutex_lock() argument
1480 rt_mutex_lock_nested(struct rt_mutex *lock, unsigned int subclass) rt_mutex_lock_nested() argument
1493 rt_mutex_lock(struct rt_mutex *lock) rt_mutex_lock() argument
1509 rt_mutex_lock_interruptible(struct rt_mutex *lock) rt_mutex_lock_interruptible() argument
1527 rt_mutex_futex_trylock(struct rt_mutex *lock) rt_mutex_futex_trylock() argument
1532 __rt_mutex_futex_trylock(struct rt_mutex *lock) __rt_mutex_futex_trylock() argument
1551 rt_mutex_timed_lock(struct rt_mutex *lock, struct hrtimer_sleeper *timeout) rt_mutex_timed_lock() argument
1579 rt_mutex_trylock(struct rt_mutex *lock) rt_mutex_trylock() argument
1599 rt_mutex_unlock(struct rt_mutex *lock) rt_mutex_unlock() argument
1610 __rt_mutex_futex_unlock(struct rt_mutex *lock, struct wake_q_head *wake_q) __rt_mutex_futex_unlock() argument
1633 rt_mutex_futex_unlock(struct rt_mutex *lock) rt_mutex_futex_unlock() argument
1655 rt_mutex_destroy(struct rt_mutex *lock) rt_mutex_destroy() argument
1673 __rt_mutex_init(struct rt_mutex *lock, const char *name, struct lock_class_key *key) __rt_mutex_init() argument
1699 rt_mutex_init_proxy_locked(struct rt_mutex *lock, struct task_struct *proxy_owner) rt_mutex_init_proxy_locked() argument
1719 rt_mutex_proxy_unlock(struct rt_mutex *lock) rt_mutex_proxy_unlock() argument
1744 __rt_mutex_start_proxy_lock(struct rt_mutex *lock, struct rt_mutex_waiter *waiter, struct task_struct *task) __rt_mutex_start_proxy_lock() argument
1793 rt_mutex_start_proxy_lock(struct rt_mutex *lock, struct rt_mutex_waiter *waiter, struct task_struct *task) rt_mutex_start_proxy_lock() argument
1820 rt_mutex_next_owner(struct rt_mutex *lock) rt_mutex_next_owner() argument
1845 rt_mutex_wait_proxy_lock(struct rt_mutex *lock, struct hrtimer_sleeper *to, struct rt_mutex_waiter *waiter) rt_mutex_wait_proxy_lock() argument
1885 rt_mutex_cleanup_proxy_lock(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) rt_mutex_cleanup_proxy_lock() argument
[all...]
H A Dmutex.c40 __mutex_init(struct mutex *lock, const char *name, struct lock_class_key *key) in __mutex_init() argument
42 atomic_long_set(&lock->owner, 0); in __mutex_init()
43 spin_lock_init(&lock->wait_lock); in __mutex_init()
44 INIT_LIST_HEAD(&lock->wait_list); in __mutex_init()
46 osq_lock_init(&lock->osq); in __mutex_init()
49 debug_mutex_init(lock, name, key); in __mutex_init()
54 * @owner: contains: 'struct task_struct *' to the current lock owner,
59 * Bit1 indicates unlock needs to hand the lock to the top-waiter
73 static inline struct task_struct *__mutex_owner(struct mutex *lock) in __mutex_owner() argument
75 return (struct task_struct *)(atomic_long_read(&lock in __mutex_owner()
83 mutex_is_locked(struct mutex *lock) mutex_is_locked() argument
90 mutex_trylock_recursive(struct mutex *lock) mutex_trylock_recursive() argument
107 __mutex_trylock_or_owner(struct mutex *lock) __mutex_trylock_or_owner() argument
150 __mutex_trylock(struct mutex *lock) __mutex_trylock() argument
166 __mutex_trylock_fast(struct mutex *lock) __mutex_trylock_fast() argument
177 __mutex_unlock_fast(struct mutex *lock) __mutex_unlock_fast() argument
188 __mutex_set_flag(struct mutex *lock, unsigned long flag) __mutex_set_flag() argument
193 __mutex_clear_flag(struct mutex *lock, unsigned long flag) __mutex_clear_flag() argument
198 __mutex_waiter_is_first(struct mutex *lock, struct mutex_waiter *waiter) __mutex_waiter_is_first() argument
208 __mutex_add_waiter(struct mutex *lock, struct mutex_waiter *waiter, struct list_head *list) __mutex_add_waiter() argument
219 __mutex_remove_waiter(struct mutex *lock, struct mutex_waiter *waiter) __mutex_remove_waiter() argument
234 __mutex_handoff(struct mutex *lock, struct task_struct *task) __mutex_handoff() argument
289 mutex_lock(struct mutex *lock) mutex_lock() argument
377 __ww_mutex_die(struct mutex *lock, struct mutex_waiter *waiter, struct ww_acquire_ctx *ww_ctx) __ww_mutex_die() argument
399 __ww_mutex_wound(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct ww_acquire_ctx *hold_ctx) __ww_mutex_wound() argument
454 __ww_mutex_check_waiters(struct mutex *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_check_waiters() argument
475 ww_mutex_set_context_fastpath(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_set_context_fastpath() argument
512 ww_mutex_spin_on_owner(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) ww_mutex_spin_on_owner() argument
560 mutex_spin_on_owner(struct mutex *lock, struct task_struct *owner, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) mutex_spin_on_owner() argument
599 mutex_can_spin_on_owner(struct mutex *lock) mutex_can_spin_on_owner() argument
648 mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) mutex_optimistic_spin() argument
724 mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) mutex_optimistic_spin() argument
744 mutex_unlock(struct mutex *lock) mutex_unlock() argument
765 ww_mutex_unlock(struct ww_mutex *lock) ww_mutex_unlock() argument
786 __ww_mutex_kill(struct mutex *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_kill() argument
815 __ww_mutex_check_kill(struct mutex *lock, struct mutex_waiter *waiter, struct ww_acquire_ctx *ctx) __ww_mutex_check_kill() argument
862 __ww_mutex_add_waiter(struct mutex_waiter *waiter, struct mutex *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_add_waiter() argument
936 __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass, struct lockdep_map *nest_lock, unsigned long ip, struct ww_acquire_ctx *ww_ctx, const bool use_ww_ctx) __mutex_lock_common() argument
1106 __mutex_lock(struct mutex *lock, long state, unsigned int subclass, struct lockdep_map *nest_lock, unsigned long ip) __mutex_lock() argument
1113 __ww_mutex_lock(struct mutex *lock, long state, unsigned int subclass, struct lockdep_map *nest_lock, unsigned long ip, struct ww_acquire_ctx *ww_ctx) __ww_mutex_lock() argument
1122 mutex_lock_nested(struct mutex *lock, unsigned int subclass) mutex_lock_nested() argument
1130 _mutex_lock_nest_lock(struct mutex *lock, struct lockdep_map *nest) _mutex_lock_nest_lock() argument
1137 mutex_lock_killable_nested(struct mutex *lock, unsigned int subclass) mutex_lock_killable_nested() argument
1144 mutex_lock_interruptible_nested(struct mutex *lock, unsigned int subclass) mutex_lock_interruptible_nested() argument
1151 mutex_lock_io_nested(struct mutex *lock, unsigned int subclass) mutex_lock_io_nested() argument
1165 ww_mutex_deadlock_injection(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_deadlock_injection() argument
1191 ww_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_lock() argument
1207 ww_mutex_lock_interruptible(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_lock_interruptible() argument
1228 __mutex_unlock_slowpath(struct mutex *lock, unsigned long ip) __mutex_unlock_slowpath() argument
1312 mutex_lock_interruptible(struct mutex *lock) mutex_lock_interruptible() argument
1336 mutex_lock_killable(struct mutex *lock) mutex_lock_killable() argument
1357 mutex_lock_io(struct mutex *lock) mutex_lock_io() argument
1368 __mutex_lock_slowpath(struct mutex *lock) __mutex_lock_slowpath() argument
1374 __mutex_lock_killable_slowpath(struct mutex *lock) __mutex_lock_killable_slowpath() argument
1380 __mutex_lock_interruptible_slowpath(struct mutex *lock) __mutex_lock_interruptible_slowpath() argument
1386 __ww_mutex_lock_slowpath(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) __ww_mutex_lock_slowpath() argument
1393 __ww_mutex_lock_interruptible_slowpath(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) __ww_mutex_lock_interruptible_slowpath() argument
1416 mutex_trylock(struct mutex *lock) mutex_trylock() argument
1434 ww_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_lock() argument
1449 ww_mutex_lock_interruptible(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_lock_interruptible() argument
1472 atomic_dec_and_mutex_lock(atomic_t *cnt, struct mutex *lock) atomic_dec_and_mutex_lock() argument
[all...]
/kernel/linux/linux-6.6/kernel/locking/
H A Dspinlock_debug.c16 void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name, in __raw_spin_lock_init() argument
21 * Make sure we are not reinitializing a held lock: in __raw_spin_lock_init()
23 debug_check_no_locks_freed((void *)lock, sizeof(*lock)); in __raw_spin_lock_init()
24 lockdep_init_map_wait(&lock->dep_map, name, key, 0, inner); in __raw_spin_lock_init()
26 lock->raw_lock = (arch_spinlock_t)__ARCH_SPIN_LOCK_UNLOCKED; in __raw_spin_lock_init()
27 lock->magic = SPINLOCK_MAGIC; in __raw_spin_lock_init()
28 lock->owner = SPINLOCK_OWNER_INIT; in __raw_spin_lock_init()
29 lock->owner_cpu = -1; in __raw_spin_lock_init()
35 void __rwlock_init(rwlock_t *lock, cons argument
54 spin_dump(raw_spinlock_t *lock, const char *msg) spin_dump() argument
72 spin_bug(raw_spinlock_t *lock, const char *msg) spin_bug() argument
83 debug_spin_lock_before(raw_spinlock_t *lock) debug_spin_lock_before() argument
91 debug_spin_lock_after(raw_spinlock_t *lock) debug_spin_lock_after() argument
97 debug_spin_unlock(raw_spinlock_t *lock) debug_spin_unlock() argument
112 do_raw_spin_lock(raw_spinlock_t *lock) do_raw_spin_lock() argument
120 do_raw_spin_trylock(raw_spinlock_t *lock) do_raw_spin_trylock() argument
137 do_raw_spin_unlock(raw_spinlock_t *lock) do_raw_spin_unlock() argument
145 rwlock_bug(rwlock_t *lock, const char *msg) rwlock_bug() argument
158 do_raw_read_lock(rwlock_t *lock) do_raw_read_lock() argument
164 do_raw_read_trylock(rwlock_t *lock) do_raw_read_trylock() argument
177 do_raw_read_unlock(rwlock_t *lock) do_raw_read_unlock() argument
183 debug_write_lock_before(rwlock_t *lock) debug_write_lock_before() argument
191 debug_write_lock_after(rwlock_t *lock) debug_write_lock_after() argument
197 debug_write_unlock(rwlock_t *lock) debug_write_unlock() argument
207 do_raw_write_lock(rwlock_t *lock) do_raw_write_lock() argument
214 do_raw_write_trylock(rwlock_t *lock) do_raw_write_trylock() argument
229 do_raw_write_unlock(rwlock_t *lock) do_raw_write_unlock() argument
[all...]
H A Dmutex.c34 #include <trace/events/lock.h>
46 __mutex_init(struct mutex *lock, const char *name, struct lock_class_key *key) in __mutex_init() argument
48 atomic_long_set(&lock->owner, 0); in __mutex_init()
49 raw_spin_lock_init(&lock->wait_lock); in __mutex_init()
50 INIT_LIST_HEAD(&lock->wait_list); in __mutex_init()
52 osq_lock_init(&lock->osq); in __mutex_init()
55 debug_mutex_init(lock, name, key); in __mutex_init()
60 * @owner: contains: 'struct task_struct *' to the current lock owner,
65 * Bit1 indicates unlock needs to hand the lock to the top-waiter
79 static inline struct task_struct *__mutex_owner(struct mutex *lock) in __mutex_owner() argument
89 mutex_is_locked(struct mutex *lock) mutex_is_locked() argument
103 __mutex_trylock_common(struct mutex *lock, bool handoff) __mutex_trylock_common() argument
142 __mutex_trylock_or_handoff(struct mutex *lock, bool handoff) __mutex_trylock_or_handoff() argument
150 __mutex_trylock(struct mutex *lock) __mutex_trylock() argument
166 __mutex_trylock_fast(struct mutex *lock) __mutex_trylock_fast() argument
177 __mutex_unlock_fast(struct mutex *lock) __mutex_unlock_fast() argument
185 __mutex_set_flag(struct mutex *lock, unsigned long flag) __mutex_set_flag() argument
190 __mutex_clear_flag(struct mutex *lock, unsigned long flag) __mutex_clear_flag() argument
195 __mutex_waiter_is_first(struct mutex *lock, struct mutex_waiter *waiter) __mutex_waiter_is_first() argument
205 __mutex_add_waiter(struct mutex *lock, struct mutex_waiter *waiter, struct list_head *list) __mutex_add_waiter() argument
216 __mutex_remove_waiter(struct mutex *lock, struct mutex_waiter *waiter) __mutex_remove_waiter() argument
231 __mutex_handoff(struct mutex *lock, struct task_struct *task) __mutex_handoff() argument
281 mutex_lock(struct mutex *lock) mutex_lock() argument
298 __mutex_trylock_or_owner(struct mutex *lock) __mutex_trylock_or_owner() argument
304 ww_mutex_spin_on_owner(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) ww_mutex_spin_on_owner() argument
352 mutex_spin_on_owner(struct mutex *lock, struct task_struct *owner, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) mutex_spin_on_owner() argument
392 mutex_can_spin_on_owner(struct mutex *lock) mutex_can_spin_on_owner() argument
441 mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) mutex_optimistic_spin() argument
517 mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, struct mutex_waiter *waiter) mutex_optimistic_spin() argument
537 mutex_unlock(struct mutex *lock) mutex_unlock() argument
558 ww_mutex_unlock(struct ww_mutex *lock) ww_mutex_unlock() argument
569 __mutex_lock_common(struct mutex *lock, unsigned int state, unsigned int subclass, struct lockdep_map *nest_lock, unsigned long ip, struct ww_acquire_ctx *ww_ctx, const bool use_ww_ctx) __mutex_lock_common() argument
744 __mutex_lock(struct mutex *lock, unsigned int state, unsigned int subclass, struct lockdep_map *nest_lock, unsigned long ip) __mutex_lock() argument
751 __ww_mutex_lock(struct mutex *lock, unsigned int state, unsigned int subclass, unsigned long ip, struct ww_acquire_ctx *ww_ctx) __ww_mutex_lock() argument
797 mutex_lock_nested(struct mutex *lock, unsigned int subclass) mutex_lock_nested() argument
805 _mutex_lock_nest_lock(struct mutex *lock, struct lockdep_map *nest) _mutex_lock_nest_lock() argument
812 mutex_lock_killable_nested(struct mutex *lock, unsigned int subclass) mutex_lock_killable_nested() argument
819 mutex_lock_interruptible_nested(struct mutex *lock, unsigned int subclass) mutex_lock_interruptible_nested() argument
826 mutex_lock_io_nested(struct mutex *lock, unsigned int subclass) mutex_lock_io_nested() argument
840 ww_mutex_deadlock_injection(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_deadlock_injection() argument
866 ww_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_lock() argument
881 ww_mutex_lock_interruptible(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_lock_interruptible() argument
901 __mutex_unlock_slowpath(struct mutex *lock, unsigned long ip) __mutex_unlock_slowpath() argument
977 mutex_lock_interruptible(struct mutex *lock) mutex_lock_interruptible() argument
1001 mutex_lock_killable(struct mutex *lock) mutex_lock_killable() argument
1022 mutex_lock_io(struct mutex *lock) mutex_lock_io() argument
1033 __mutex_lock_slowpath(struct mutex *lock) __mutex_lock_slowpath() argument
1039 __mutex_lock_killable_slowpath(struct mutex *lock) __mutex_lock_killable_slowpath() argument
1045 __mutex_lock_interruptible_slowpath(struct mutex *lock) __mutex_lock_interruptible_slowpath() argument
1051 __ww_mutex_lock_slowpath(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) __ww_mutex_lock_slowpath() argument
1058 __ww_mutex_lock_interruptible_slowpath(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) __ww_mutex_lock_interruptible_slowpath() argument
1081 mutex_trylock(struct mutex *lock) mutex_trylock() argument
1097 ww_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_lock() argument
1112 ww_mutex_lock_interruptible(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_lock_interruptible() argument
1136 atomic_dec_and_mutex_lock(atomic_t *cnt, struct mutex *lock) atomic_dec_and_mutex_lock() argument
[all...]
H A Drtmutex_api.c17 * Debug aware fast / slowpath lock,trylock,unlock
22 static __always_inline int __rt_mutex_lock_common(struct rt_mutex *lock, in __rt_mutex_lock_common() argument
30 mutex_acquire_nest(&lock->dep_map, subclass, 0, nest_lock, _RET_IP_); in __rt_mutex_lock_common()
31 ret = __rt_mutex_lock(&lock->rtmutex, state); in __rt_mutex_lock_common()
33 mutex_release(&lock->dep_map, _RET_IP_); in __rt_mutex_lock_common()
45 * rt_mutex_lock_nested - lock a rt_mutex
47 * @lock: the rt_mutex to be locked
50 void __sched rt_mutex_lock_nested(struct rt_mutex *lock, unsigned int subclass) in rt_mutex_lock_nested() argument
52 __rt_mutex_lock_common(lock, TASK_UNINTERRUPTIBLE, NULL, subclass); in rt_mutex_lock_nested()
56 void __sched _rt_mutex_lock_nest_lock(struct rt_mutex *lock, struc argument
69 rt_mutex_lock(struct rt_mutex *lock) rt_mutex_lock() argument
85 rt_mutex_lock_interruptible(struct rt_mutex *lock) rt_mutex_lock_interruptible() argument
100 rt_mutex_lock_killable(struct rt_mutex *lock) rt_mutex_lock_killable() argument
118 rt_mutex_trylock(struct rt_mutex *lock) rt_mutex_trylock() argument
138 rt_mutex_unlock(struct rt_mutex *lock) rt_mutex_unlock() argument
148 rt_mutex_futex_trylock(struct rt_mutex_base *lock) rt_mutex_futex_trylock() argument
153 __rt_mutex_futex_trylock(struct rt_mutex_base *lock) __rt_mutex_futex_trylock() argument
165 __rt_mutex_futex_unlock(struct rt_mutex_base *lock, struct rt_wake_q_head *wqh) __rt_mutex_futex_unlock() argument
188 rt_mutex_futex_unlock(struct rt_mutex_base *lock) rt_mutex_futex_unlock() argument
213 __rt_mutex_init(struct rt_mutex *lock, const char *name, struct lock_class_key *key) __rt_mutex_init() argument
236 rt_mutex_init_proxy_locked(struct rt_mutex_base *lock, struct task_struct *proxy_owner) rt_mutex_init_proxy_locked() argument
267 rt_mutex_proxy_unlock(struct rt_mutex_base *lock) rt_mutex_proxy_unlock() argument
292 __rt_mutex_start_proxy_lock(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter, struct task_struct *task) __rt_mutex_start_proxy_lock() argument
339 rt_mutex_start_proxy_lock(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter, struct task_struct *task) rt_mutex_start_proxy_lock() argument
371 rt_mutex_wait_proxy_lock(struct rt_mutex_base *lock, struct hrtimer_sleeper *to, struct rt_mutex_waiter *waiter) rt_mutex_wait_proxy_lock() argument
411 rt_mutex_cleanup_proxy_lock(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter) rt_mutex_cleanup_proxy_lock() argument
502 __mutex_lock_common(struct mutex *lock, unsigned int state, unsigned int subclass, struct lockdep_map *nest_lock, unsigned long ip) __mutex_lock_common() argument
521 mutex_lock_nested(struct mutex *lock, unsigned int subclass) mutex_lock_nested() argument
527 _mutex_lock_nest_lock(struct mutex *lock, struct lockdep_map *nest_lock) _mutex_lock_nest_lock() argument
534 mutex_lock_interruptible_nested(struct mutex *lock, unsigned int subclass) mutex_lock_interruptible_nested() argument
541 mutex_lock_killable_nested(struct mutex *lock, unsigned int subclass) mutex_lock_killable_nested() argument
548 mutex_lock_io_nested(struct mutex *lock, unsigned int subclass) mutex_lock_io_nested() argument
562 mutex_lock(struct mutex *lock) mutex_lock() argument
568 mutex_lock_interruptible(struct mutex *lock) mutex_lock_interruptible() argument
574 mutex_lock_killable(struct mutex *lock) mutex_lock_killable() argument
580 mutex_lock_io(struct mutex *lock) mutex_lock_io() argument
590 mutex_trylock(struct mutex *lock) mutex_trylock() argument
605 mutex_unlock(struct mutex *lock) mutex_unlock() argument
[all...]
H A Drtmutex.c27 #include <trace/events/lock.h>
36 struct rt_mutex *lock, in __ww_mutex_add_waiter()
42 static inline void __ww_mutex_check_waiters(struct rt_mutex *lock, in __ww_mutex_check_waiters() argument
47 static inline void ww_mutex_lock_acquired(struct ww_mutex *lock, in ww_mutex_lock_acquired() argument
52 static inline int __ww_mutex_check_kill(struct rt_mutex *lock, in __ww_mutex_check_kill() argument
66 * lock->owner state tracking:
68 * lock->owner holds the task_struct pointer of the owner. Bit 0
69 * is used to keep track of the "lock has waiters" state.
72 * NULL 0 lock is free (fast acquire possible)
73 * NULL 1 lock i
35 __ww_mutex_add_waiter(struct rt_mutex_waiter *waiter, struct rt_mutex *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_add_waiter() argument
93 rt_mutex_owner_encode(struct rt_mutex_base *lock, struct task_struct *owner) rt_mutex_owner_encode() argument
104 rt_mutex_set_owner(struct rt_mutex_base *lock, struct task_struct *owner) rt_mutex_set_owner() argument
113 rt_mutex_clear_owner(struct rt_mutex_base *lock) rt_mutex_clear_owner() argument
119 clear_rt_mutex_waiters(struct rt_mutex_base *lock) clear_rt_mutex_waiters() argument
126 fixup_rt_mutex_waiters(struct rt_mutex_base *lock, bool acquire_lock) fixup_rt_mutex_waiters() argument
214 rt_mutex_cmpxchg_acquire(struct rt_mutex_base *lock, struct task_struct *old, struct task_struct *new) rt_mutex_cmpxchg_acquire() argument
221 rt_mutex_cmpxchg_release(struct rt_mutex_base *lock, struct task_struct *old, struct task_struct *new) rt_mutex_cmpxchg_release() argument
233 mark_rt_mutex_waiters(struct rt_mutex_base *lock) mark_rt_mutex_waiters() argument
262 clear_rt_mutex_waiters(lock); global() variable
292 rt_mutex_cmpxchg_acquire(struct rt_mutex_base *lock, struct task_struct *old, struct task_struct *new) rt_mutex_cmpxchg_acquire() argument
300 rt_mutex_cmpxchg_release(struct rt_mutex_base *lock, struct task_struct *old, struct task_struct *new) rt_mutex_cmpxchg_release() argument
307 mark_rt_mutex_waiters(struct rt_mutex_base *lock) mark_rt_mutex_waiters() argument
457 rt_mutex_enqueue(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter) rt_mutex_enqueue() argument
465 rt_mutex_dequeue(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter) rt_mutex_dequeue() argument
504 rt_mutex_adjust_prio(struct rt_mutex_base *lock, struct task_struct *p) rt_mutex_adjust_prio() argument
665 struct rt_mutex_base *lock; rt_mutex_adjust_prio_chain() local
1064 try_to_take_rt_mutex(struct rt_mutex_base *lock, struct task_struct *task, struct rt_mutex_waiter *waiter) try_to_take_rt_mutex() argument
1180 task_blocks_on_rt_mutex(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter, struct task_struct *task, struct ww_acquire_ctx *ww_ctx, enum rtmutex_chainwalk chwalk) task_blocks_on_rt_mutex() argument
1288 mark_wakeup_next_waiter(struct rt_wake_q_head *wqh, struct rt_mutex_base *lock) mark_wakeup_next_waiter() argument
1334 __rt_mutex_slowtrylock(struct rt_mutex_base *lock) __rt_mutex_slowtrylock() argument
1350 rt_mutex_slowtrylock(struct rt_mutex_base *lock) rt_mutex_slowtrylock() argument
1376 __rt_mutex_trylock(struct rt_mutex_base *lock) __rt_mutex_trylock() argument
1387 rt_mutex_slowunlock(struct rt_mutex_base *lock) rt_mutex_slowunlock() argument
1448 __rt_mutex_unlock(struct rt_mutex_base *lock) __rt_mutex_unlock() argument
1457 rtmutex_spin_on_owner(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter, struct task_struct *owner) rtmutex_spin_on_owner() argument
1494 rtmutex_spin_on_owner(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter, struct task_struct *owner) rtmutex_spin_on_owner() argument
1515 remove_waiter(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter) remove_waiter() argument
1579 rt_mutex_slowlock_block(struct rt_mutex_base *lock, struct ww_acquire_ctx *ww_ctx, unsigned int state, struct hrtimer_sleeper *timeout, struct rt_mutex_waiter *waiter) rt_mutex_slowlock_block() argument
1657 __rt_mutex_slowlock(struct rt_mutex_base *lock, struct ww_acquire_ctx *ww_ctx, unsigned int state, enum rtmutex_chainwalk chwalk, struct rt_mutex_waiter *waiter) __rt_mutex_slowlock() argument
1710 __rt_mutex_slowlock_locked(struct rt_mutex_base *lock, struct ww_acquire_ctx *ww_ctx, unsigned int state) __rt_mutex_slowlock_locked() argument
1733 rt_mutex_slowlock(struct rt_mutex_base *lock, struct ww_acquire_ctx *ww_ctx, unsigned int state) rt_mutex_slowlock() argument
1755 __rt_mutex_lock(struct rt_mutex_base *lock, unsigned int state) __rt_mutex_lock() argument
1774 rtlock_slowlock_locked(struct rt_mutex_base *lock) rtlock_slowlock_locked() argument
1824 rtlock_slowlock(struct rt_mutex_base *lock) rtlock_slowlock() argument
[all...]
H A Dww_mutex.h9 __ww_waiter_first(struct mutex *lock) in __ww_waiter_first() argument
13 w = list_first_entry(&lock->wait_list, struct mutex_waiter, list); in __ww_waiter_first()
14 if (list_entry_is_head(w, &lock->wait_list, list)) in __ww_waiter_first()
21 __ww_waiter_next(struct mutex *lock, struct mutex_waiter *w) in __ww_waiter_next() argument
24 if (list_entry_is_head(w, &lock->wait_list, list)) in __ww_waiter_next()
31 __ww_waiter_prev(struct mutex *lock, struct mutex_waiter *w) in __ww_waiter_prev() argument
34 if (list_entry_is_head(w, &lock->wait_list, list)) in __ww_waiter_prev()
41 __ww_waiter_last(struct mutex *lock) in __ww_waiter_last() argument
45 w = list_last_entry(&lock->wait_list, struct mutex_waiter, list); in __ww_waiter_last()
46 if (list_entry_is_head(w, &lock in __ww_waiter_last()
53 __ww_waiter_add(struct mutex *lock, struct mutex_waiter *waiter, struct mutex_waiter *pos) __ww_waiter_add() argument
62 __ww_mutex_owner(struct mutex *lock) __ww_mutex_owner() argument
68 __ww_mutex_has_waiters(struct mutex *lock) __ww_mutex_has_waiters() argument
73 lock_wait_lock(struct mutex *lock) lock_wait_lock() argument
78 unlock_wait_lock(struct mutex *lock) unlock_wait_lock() argument
83 lockdep_assert_wait_lock_held(struct mutex *lock) lockdep_assert_wait_lock_held() argument
94 __ww_waiter_first(struct rt_mutex *lock) __ww_waiter_first() argument
103 __ww_waiter_next(struct rt_mutex *lock, struct rt_mutex_waiter *w) __ww_waiter_next() argument
112 __ww_waiter_prev(struct rt_mutex *lock, struct rt_mutex_waiter *w) __ww_waiter_prev() argument
121 __ww_waiter_last(struct rt_mutex *lock) __ww_waiter_last() argument
130 __ww_waiter_add(struct rt_mutex *lock, struct rt_mutex_waiter *waiter, struct rt_mutex_waiter *pos) __ww_waiter_add() argument
136 __ww_mutex_owner(struct rt_mutex *lock) __ww_mutex_owner() argument
142 __ww_mutex_has_waiters(struct rt_mutex *lock) __ww_mutex_has_waiters() argument
147 lock_wait_lock(struct rt_mutex *lock) lock_wait_lock() argument
152 unlock_wait_lock(struct rt_mutex *lock) unlock_wait_lock() argument
157 lockdep_assert_wait_lock_held(struct rt_mutex *lock) lockdep_assert_wait_lock_held() argument
277 __ww_mutex_die(struct MUTEX *lock, struct MUTEX_WAITER *waiter, struct ww_acquire_ctx *ww_ctx) __ww_mutex_die() argument
300 __ww_mutex_wound(struct MUTEX *lock, struct ww_acquire_ctx *ww_ctx, struct ww_acquire_ctx *hold_ctx) __ww_mutex_wound() argument
355 __ww_mutex_check_waiters(struct MUTEX *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_check_waiters() argument
378 ww_mutex_set_context_fastpath(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) ww_mutex_set_context_fastpath() argument
413 __ww_mutex_kill(struct MUTEX *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_kill() argument
441 __ww_mutex_check_kill(struct MUTEX *lock, struct MUTEX_WAITER *waiter, struct ww_acquire_ctx *ctx) __ww_mutex_check_kill() argument
489 __ww_mutex_add_waiter(struct MUTEX_WAITER *waiter, struct MUTEX *lock, struct ww_acquire_ctx *ww_ctx) __ww_mutex_add_waiter() argument
559 __ww_mutex_unlock(struct ww_mutex *lock) __ww_mutex_unlock() argument
[all...]
/kernel/linux/linux-5.10/arch/alpha/include/asm/
H A Dspinlock.h11 * Simple spin lock operations. There are two variants, one clears IRQ's
17 #define arch_spin_is_locked(x) ((x)->lock != 0)
19 static inline int arch_spin_value_unlocked(arch_spinlock_t lock) in arch_spin_value_unlocked() argument
21 return lock.lock == 0; in arch_spin_value_unlocked()
24 static inline void arch_spin_unlock(arch_spinlock_t * lock) in arch_spin_unlock() argument
27 lock->lock = 0; in arch_spin_unlock()
30 static inline void arch_spin_lock(arch_spinlock_t * lock) in arch_spin_lock() argument
46 : "=&r" (tmp), "=m" (lock in arch_spin_lock()
50 arch_spin_trylock(arch_spinlock_t *lock) arch_spin_trylock() argument
57 arch_read_lock(arch_rwlock_t *lock) arch_read_lock() argument
77 arch_write_lock(arch_rwlock_t *lock) arch_write_lock() argument
97 arch_read_trylock(arch_rwlock_t * lock) arch_read_trylock() argument
119 arch_write_trylock(arch_rwlock_t * lock) arch_write_trylock() argument
141 arch_read_unlock(arch_rwlock_t * lock) arch_read_unlock() argument
157 arch_write_unlock(arch_rwlock_t * lock) arch_write_unlock() argument
[all...]
/kernel/linux/linux-6.6/arch/alpha/include/asm/
H A Dspinlock.h11 * Simple spin lock operations. There are two variants, one clears IRQ's
17 #define arch_spin_is_locked(x) ((x)->lock != 0)
19 static inline int arch_spin_value_unlocked(arch_spinlock_t lock) in arch_spin_value_unlocked() argument
21 return lock.lock == 0; in arch_spin_value_unlocked()
24 static inline void arch_spin_unlock(arch_spinlock_t * lock) in arch_spin_unlock() argument
27 lock->lock = 0; in arch_spin_unlock()
30 static inline void arch_spin_lock(arch_spinlock_t * lock) in arch_spin_lock() argument
46 : "=&r" (tmp), "=m" (lock in arch_spin_lock()
50 arch_spin_trylock(arch_spinlock_t *lock) arch_spin_trylock() argument
57 arch_read_lock(arch_rwlock_t *lock) arch_read_lock() argument
77 arch_write_lock(arch_rwlock_t *lock) arch_write_lock() argument
97 arch_read_trylock(arch_rwlock_t * lock) arch_read_trylock() argument
119 arch_write_trylock(arch_rwlock_t * lock) arch_write_trylock() argument
141 arch_read_unlock(arch_rwlock_t * lock) arch_read_unlock() argument
157 arch_write_unlock(arch_rwlock_t * lock) arch_write_unlock() argument
[all...]
/kernel/linux/linux-5.10/arch/csky/include/asm/
H A Dspinlock.h14 static inline void arch_spin_lock(arch_spinlock_t *lock) in arch_spin_lock() argument
18 u32 *p = &lock->lock; in arch_spin_lock()
32 lockval.tickets.owner = READ_ONCE(lock->tickets.owner); in arch_spin_lock()
37 static inline int arch_spin_trylock(arch_spinlock_t *lock) in arch_spin_trylock() argument
41 u32 *p = &lock->lock; in arch_spin_trylock()
65 static inline void arch_spin_unlock(arch_spinlock_t *lock) in arch_spin_unlock() argument
68 WRITE_ONCE(lock->tickets.owner, lock in arch_spin_unlock()
71 arch_spin_value_unlocked(arch_spinlock_t lock) arch_spin_value_unlocked() argument
76 arch_spin_is_locked(arch_spinlock_t *lock) arch_spin_is_locked() argument
81 arch_spin_is_contended(arch_spinlock_t *lock) arch_spin_is_contended() argument
99 arch_spin_lock(arch_spinlock_t *lock) arch_spin_lock() argument
116 arch_spin_unlock(arch_spinlock_t *lock) arch_spin_unlock() argument
122 arch_spin_trylock(arch_spinlock_t *lock) arch_spin_trylock() argument
150 arch_read_lock(arch_rwlock_t *lock) arch_read_lock() argument
167 arch_read_unlock(arch_rwlock_t *lock) arch_read_unlock() argument
183 arch_read_trylock(arch_rwlock_t *lock) arch_read_trylock() argument
209 arch_write_lock(arch_rwlock_t *lock) arch_write_lock() argument
226 arch_write_unlock(arch_rwlock_t *lock) arch_write_unlock() argument
232 arch_write_trylock(arch_rwlock_t *lock) arch_write_trylock() argument
[all...]

Completed in 12 milliseconds

12345678910>>...490