/include/linux/ |
D | spinlock_api_up.h | 19 #define assert_raw_spin_locked(lock) do { (void)(lock); } while (0) argument 27 #define ___LOCK(lock) \ argument 28 do { __acquire(lock); (void)(lock); } while (0) 30 #define __LOCK(lock) \ argument 31 do { preempt_disable(); ___LOCK(lock); } while (0) 33 #define __LOCK_BH(lock) \ argument 34 do { __local_bh_disable_ip(_THIS_IP_, SOFTIRQ_LOCK_OFFSET); ___LOCK(lock); } while (0) 36 #define __LOCK_IRQ(lock) \ argument 37 do { local_irq_disable(); __LOCK(lock); } while (0) 39 #define __LOCK_IRQSAVE(lock, flags) \ argument [all …]
|
D | rwlock_api_smp.h | 18 void __lockfunc _raw_read_lock(rwlock_t *lock) __acquires(lock); 19 void __lockfunc _raw_write_lock(rwlock_t *lock) __acquires(lock); 20 void __lockfunc _raw_read_lock_bh(rwlock_t *lock) __acquires(lock); 21 void __lockfunc _raw_write_lock_bh(rwlock_t *lock) __acquires(lock); 22 void __lockfunc _raw_read_lock_irq(rwlock_t *lock) __acquires(lock); 23 void __lockfunc _raw_write_lock_irq(rwlock_t *lock) __acquires(lock); 24 unsigned long __lockfunc _raw_read_lock_irqsave(rwlock_t *lock) 25 __acquires(lock); 26 unsigned long __lockfunc _raw_write_lock_irqsave(rwlock_t *lock) 27 __acquires(lock); [all …]
|
D | rwlock.h | 18 extern void __rwlock_init(rwlock_t *lock, const char *name, 20 # define rwlock_init(lock) \ argument 24 __rwlock_init((lock), #lock, &__key); \ 27 # define rwlock_init(lock) \ argument 28 do { *(lock) = __RW_LOCK_UNLOCKED(lock); } while (0) 32 extern void do_raw_read_lock(rwlock_t *lock) __acquires(lock); 33 #define do_raw_read_lock_flags(lock, flags) do_raw_read_lock(lock) argument 34 extern int do_raw_read_trylock(rwlock_t *lock); 35 extern void do_raw_read_unlock(rwlock_t *lock) __releases(lock); 36 extern void do_raw_write_lock(rwlock_t *lock) __acquires(lock); [all …]
|
D | spinlock.h | 96 extern void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name, 99 # define raw_spin_lock_init(lock) \ argument 103 __raw_spin_lock_init((lock), #lock, &__key, LD_WAIT_SPIN); \ 107 # define raw_spin_lock_init(lock) \ argument 108 do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0) 111 #define raw_spin_is_locked(lock) arch_spin_is_locked(&(lock)->raw_lock) argument 114 #define raw_spin_is_contended(lock) arch_spin_is_contended(&(lock)->raw_lock) argument 116 #define raw_spin_is_contended(lock) (((void)(lock), 0)) argument 175 extern void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock); 176 #define do_raw_spin_lock_flags(lock, flags) do_raw_spin_lock(lock) argument [all …]
|
D | spinlock_api_smp.h | 22 void __lockfunc _raw_spin_lock(raw_spinlock_t *lock) __acquires(lock); 23 void __lockfunc _raw_spin_lock_nested(raw_spinlock_t *lock, int subclass) 24 __acquires(lock); 26 _raw_spin_lock_nest_lock(raw_spinlock_t *lock, struct lockdep_map *map) 27 __acquires(lock); 28 void __lockfunc _raw_spin_lock_bh(raw_spinlock_t *lock) __acquires(lock); 29 void __lockfunc _raw_spin_lock_irq(raw_spinlock_t *lock) 30 __acquires(lock); 32 unsigned long __lockfunc _raw_spin_lock_irqsave(raw_spinlock_t *lock) 33 __acquires(lock); [all …]
|
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) argument 55 #define arch_write_lock(lock) do { barrier(); (void)(lock); } while (0) argument 56 #define arch_read_trylock(lock) ({ barrier(); (void)(lock); 1; }) argument [all …]
|
D | local_lock.h | 10 #define local_lock_init(lock) __local_lock_init(lock) argument 16 #define local_lock(lock) __local_lock(lock) argument 22 #define local_lock_irq(lock) __local_lock_irq(lock) argument 30 #define local_lock_irqsave(lock, flags) \ argument 31 __local_lock_irqsave(lock, flags) 37 #define local_unlock(lock) __local_unlock(lock) argument 43 #define local_unlock_irq(lock) __local_unlock_irq(lock) argument 51 #define local_unlock_irqrestore(lock, flags) \ argument 52 __local_unlock_irqrestore(lock, flags)
|
D | mutex.h | 99 extern void mutex_destroy(struct mutex *lock); 105 static inline void mutex_destroy(struct mutex *lock) {} in mutex_destroy() argument 144 extern void __mutex_init(struct mutex *lock, const char *name, 153 extern bool mutex_is_locked(struct mutex *lock); 160 extern void mutex_lock_nested(struct mutex *lock, unsigned int subclass); 161 extern void _mutex_lock_nest_lock(struct mutex *lock, struct lockdep_map *nest_lock); 163 extern int __must_check mutex_lock_interruptible_nested(struct mutex *lock, 165 extern int __must_check mutex_lock_killable_nested(struct mutex *lock, 167 extern void mutex_lock_io_nested(struct mutex *lock, unsigned int subclass); 169 #define mutex_lock(lock) mutex_lock_nested(lock, 0) argument [all …]
|
D | local_lock_internal.h | 52 #define __local_lock_init(lock) \ argument 56 debug_check_no_locks_freed((void *)lock, sizeof(*lock));\ 57 lockdep_init_map_type(&(lock)->dep_map, #lock, &__key, \ 60 local_lock_debug_init(lock); \ 63 #define __local_lock(lock) \ argument 66 local_lock_acquire(this_cpu_ptr(lock)); \ 69 #define __local_lock_irq(lock) \ argument 72 local_lock_acquire(this_cpu_ptr(lock)); \ 75 #define __local_lock_irqsave(lock, flags) \ argument 78 local_lock_acquire(this_cpu_ptr(lock)); \ [all …]
|
D | lockdep.h | 150 extern void lockdep_reset_lock(struct lockdep_map *lock); 188 extern void lockdep_init_map_type(struct lockdep_map *lock, const char *name, 192 lockdep_init_map_waits(struct lockdep_map *lock, const char *name, in lockdep_init_map_waits() argument 195 lockdep_init_map_type(lock, name, key, subclass, inner, outer, LD_LOCK_NORMAL); in lockdep_init_map_waits() 199 lockdep_init_map_wait(struct lockdep_map *lock, const char *name, in lockdep_init_map_wait() argument 202 lockdep_init_map_waits(lock, name, key, subclass, inner, LD_WAIT_INV); in lockdep_init_map_wait() 205 static inline void lockdep_init_map(struct lockdep_map *lock, const char *name, in lockdep_init_map() argument 208 lockdep_init_map_wait(lock, name, key, subclass, LD_WAIT_INV); in lockdep_init_map() 217 #define lockdep_set_class(lock, key) \ argument 218 lockdep_init_map_type(&(lock)->dep_map, #key, key, 0, \ [all …]
|
D | seqlock.h | 180 __SEQ_LOCK(____s->lock = (_lock)); \ 183 #define seqcount_raw_spinlock_init(s, lock) seqcount_LOCKNAME_init(s, lock, raw_spinlock) argument 184 #define seqcount_spinlock_init(s, lock) seqcount_LOCKNAME_init(s, lock, spinlock) argument 185 #define seqcount_rwlock_init(s, lock) seqcount_LOCKNAME_init(s, lock, rwlock); argument 186 #define seqcount_mutex_init(s, lock) seqcount_LOCKNAME_init(s, lock, mutex); argument 187 #define seqcount_ww_mutex_init(s, lock) seqcount_LOCKNAME_init(s, lock, ww_mutex); argument 203 __SEQ_LOCK(locktype *lock); \ 222 __SEQ_LOCK(lockbase##_unlock(s->lock)); \ 276 …_LOCKNAME(raw_spinlock, raw_spinlock_t, false, s->lock, raw_spin, raw_spin_lock(s->lock… 277 …UNT_LOCKNAME(spinlock, spinlock_t, __SEQ_RT, s->lock, spin, spin_lock(s->lock)) [all …]
|
D | rtmutex.h | 101 static inline int rt_mutex_is_locked(struct rt_mutex *lock) in rt_mutex_is_locked() argument 103 return lock->owner != NULL; in rt_mutex_is_locked() 106 extern void __rt_mutex_init(struct rt_mutex *lock, const char *name, struct lock_class_key *key); 107 extern void rt_mutex_destroy(struct rt_mutex *lock); 110 extern void rt_mutex_lock_nested(struct rt_mutex *lock, unsigned int subclass); 111 #define rt_mutex_lock(lock) rt_mutex_lock_nested(lock, 0) argument 113 extern void rt_mutex_lock(struct rt_mutex *lock); 114 #define rt_mutex_lock_nested(lock, subclass) rt_mutex_lock(lock) argument 117 extern int rt_mutex_lock_interruptible(struct rt_mutex *lock); 118 extern int rt_mutex_timed_lock(struct rt_mutex *lock, [all …]
|
D | osq_lock.h | 28 static inline void osq_lock_init(struct optimistic_spin_queue *lock) in osq_lock_init() argument 30 atomic_set(&lock->tail, OSQ_UNLOCKED_VAL); in osq_lock_init() 33 extern bool osq_lock(struct optimistic_spin_queue *lock); 34 extern void osq_unlock(struct optimistic_spin_queue *lock); 36 static inline bool osq_is_locked(struct optimistic_spin_queue *lock) in osq_is_locked() argument 38 return atomic_read(&lock->tail) != OSQ_UNLOCKED_VAL; in osq_is_locked()
|
D | ww_mutex.h | 87 static inline void ww_mutex_init(struct ww_mutex *lock, in ww_mutex_init() argument 90 __mutex_init(&lock->base, ww_class->mutex_name, &ww_class->mutex_key); in ww_mutex_init() 91 lock->ctx = NULL; in ww_mutex_init() 93 lock->ww_class = ww_class; in ww_mutex_init() 223 extern int /* __must_check */ ww_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ctx); 255 extern int __must_check ww_mutex_lock_interruptible(struct ww_mutex *lock, 282 ww_mutex_lock_slow(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_lock_slow() argument 288 ret = ww_mutex_lock(lock, ctx); in ww_mutex_lock_slow() 318 ww_mutex_lock_slow_interruptible(struct ww_mutex *lock, in ww_mutex_lock_slow_interruptible() argument 324 return ww_mutex_lock_interruptible(lock, ctx); in ww_mutex_lock_slow_interruptible() [all …]
|
D | dma-resv.h | 71 struct ww_mutex lock; member 78 #define dma_resv_held(obj) lockdep_is_held(&(obj)->lock.base) 79 #define dma_resv_assert_held(obj) lockdep_assert_held(&(obj)->lock.base) 113 return ww_mutex_lock(&obj->lock, ctx); in dma_resv_lock() 134 return ww_mutex_lock_interruptible(&obj->lock, ctx); in dma_resv_lock_interruptible() 149 ww_mutex_lock_slow(&obj->lock, ctx); in dma_resv_lock_slow() 165 return ww_mutex_lock_slow_interruptible(&obj->lock, ctx); in dma_resv_lock_slow_interruptible() 184 return ww_mutex_trylock(&obj->lock); in dma_resv_trylock() 195 return ww_mutex_is_locked(&obj->lock); in dma_resv_is_locked() 207 return READ_ONCE(obj->lock.ctx); in dma_resv_locking_ctx() [all …]
|
D | fs_struct.h | 11 spinlock_t lock; member 29 spin_lock(&fs->lock); in get_fs_root() 32 spin_unlock(&fs->lock); in get_fs_root() 37 spin_lock(&fs->lock); in get_fs_pwd() 40 spin_unlock(&fs->lock); in get_fs_pwd()
|
D | semaphore.h | 16 raw_spinlock_t lock; member 23 .lock = __RAW_SPIN_LOCK_UNLOCKED((name).lock), \ 35 lockdep_init_map(&sem->lock.dep_map, "semaphore->lock", &__key, 0); in sema_init()
|
D | kref.h | 73 struct mutex *lock) in kref_put_mutex() argument 75 if (refcount_dec_and_mutex_lock(&kref->refcount, lock)) { in kref_put_mutex() 84 spinlock_t *lock) in kref_put_lock() argument 86 if (refcount_dec_and_lock(&kref->refcount, lock)) { in kref_put_lock()
|
/include/trace/events/ |
D | lock.h | 3 #define TRACE_SYSTEM lock 15 TP_PROTO(struct lockdep_map *lock, unsigned int subclass, 19 TP_ARGS(lock, subclass, trylock, read, check, next_lock, ip), 23 __string(name, lock->name) 29 __assign_str(name, lock->name); 30 __entry->lockdep_addr = lock; 39 DECLARE_EVENT_CLASS(lock, 41 TP_PROTO(struct lockdep_map *lock, unsigned long ip), 43 TP_ARGS(lock, ip), 46 __string( name, lock->name ) [all …]
|
/include/asm-generic/ |
D | qrwlock.h | 30 extern void queued_read_lock_slowpath(struct qrwlock *lock); 31 extern void queued_write_lock_slowpath(struct qrwlock *lock); 38 static inline int queued_read_trylock(struct qrwlock *lock) in queued_read_trylock() argument 42 cnts = atomic_read(&lock->cnts); in queued_read_trylock() 44 cnts = (u32)atomic_add_return_acquire(_QR_BIAS, &lock->cnts); in queued_read_trylock() 47 atomic_sub(_QR_BIAS, &lock->cnts); in queued_read_trylock() 57 static inline int queued_write_trylock(struct qrwlock *lock) in queued_write_trylock() argument 61 cnts = atomic_read(&lock->cnts); in queued_write_trylock() 65 return likely(atomic_try_cmpxchg_acquire(&lock->cnts, &cnts, in queued_write_trylock() 72 static inline void queued_read_lock(struct qrwlock *lock) in queued_read_lock() argument [all …]
|
D | qspinlock.h | 22 static __always_inline int queued_spin_is_locked(struct qspinlock *lock) in queued_spin_is_locked() argument 28 return atomic_read(&lock->val); in queued_spin_is_locked() 42 static __always_inline int queued_spin_value_unlocked(struct qspinlock lock) in queued_spin_value_unlocked() argument 44 return !lock.val.counter; in queued_spin_value_unlocked() 52 static __always_inline int queued_spin_is_contended(struct qspinlock *lock) in queued_spin_is_contended() argument 54 return atomic_read(&lock->val) & ~_Q_LOCKED_MASK; in queued_spin_is_contended() 61 static __always_inline int queued_spin_trylock(struct qspinlock *lock) in queued_spin_trylock() argument 63 u32 val = atomic_read(&lock->val); in queued_spin_trylock() 68 return likely(atomic_try_cmpxchg_acquire(&lock->val, &val, _Q_LOCKED_VAL)); in queued_spin_trylock() 71 extern void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val); [all …]
|
/include/trace/hooks/ |
D | dtask.h | 30 TP_PROTO(struct mutex *lock), 31 TP_ARGS(lock)); 33 TP_PROTO(struct mutex *lock), 34 TP_ARGS(lock)); 36 TP_PROTO(struct mutex *lock, bool *time_out, int *cnt), 37 TP_ARGS(lock, time_out, cnt)); 39 TP_PROTO(struct mutex *lock, bool taken), 40 TP_ARGS(lock, taken)); 42 TP_PROTO(struct mutex *lock, int *retval), 43 TP_ARGS(lock, retval)); [all …]
|
/include/asm-generic/bitops/ |
D | ext2-atomic.h | 9 #define ext2_set_bit_atomic(lock, nr, addr) \ argument 12 spin_lock(lock); \ 14 spin_unlock(lock); \ 18 #define ext2_clear_bit_atomic(lock, nr, addr) \ argument 21 spin_lock(lock); \ 23 spin_unlock(lock); \
|
/include/drm/ |
D | drm_modeset_lock.h | 97 void drm_modeset_lock_init(struct drm_modeset_lock *lock); 103 static inline void drm_modeset_lock_fini(struct drm_modeset_lock *lock) in drm_modeset_lock_fini() argument 105 WARN_ON(!list_empty(&lock->head)); in drm_modeset_lock_fini() 112 static inline bool drm_modeset_is_locked(struct drm_modeset_lock *lock) in drm_modeset_is_locked() argument 114 return ww_mutex_is_locked(&lock->mutex); in drm_modeset_is_locked() 121 static inline void drm_modeset_lock_assert_held(struct drm_modeset_lock *lock) in drm_modeset_lock_assert_held() argument 123 lockdep_assert_held(&lock->mutex.base); in drm_modeset_lock_assert_held() 126 int drm_modeset_lock(struct drm_modeset_lock *lock, 128 int __must_check drm_modeset_lock_single_interruptible(struct drm_modeset_lock *lock); 129 void drm_modeset_unlock(struct drm_modeset_lock *lock);
|
/include/acpi/platform/ |
D | aclinuxex.h | 85 spinlock_t *lock = ACPI_ALLOCATE(sizeof(*lock)); \ 86 if (lock) { \ 87 *(__handle) = lock; \ 90 lock ? AE_OK : AE_NO_MEMORY; \ 96 raw_spinlock_t *lock = ACPI_ALLOCATE(sizeof(*lock)); \ 97 if (lock) { \ 98 *(__handle) = lock; \ 101 lock ? AE_OK : AE_NO_MEMORY; \
|