/kernel/linux/linux-6.6/include/linux/ |
H A D | rwlock_api_smp.h | 18 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 D | spinlock_api_up.h | 19 #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 D | spinlock.h | 72 #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 D | rwlock.h | 18 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 D | spinlock_rt.h | 10 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 D | spinlock_api_smp.h | 22 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 D | rwlock_api_smp.h | 18 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 D | spinlock_api_up.h | 19 #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 D | rwlock.h | 18 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 D | spinlock.h | 67 #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 D | spinlock_api_smp.h | 22 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 D | spinlock_up.h | 29 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 D | ttm_lock.c | 45 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 D | spinlock_debug.c | 16 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 D | spinlock.c | 35 * 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 D | rtmutex.c | 26 * 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 D | mutex.c | 40 __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 D | spinlock_debug.c | 16 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 D | mutex.c | 34 #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 D | rtmutex_api.c | 17 * 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 D | rtmutex.c | 27 #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 D | ww_mutex.h | 9 __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 D | spinlock.h | 11 * 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 D | spinlock.h | 11 * 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 D | spinlock.h | 14 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...] |