Home | History | Annotate | Download | only in linux

Lines Matching defs:spinlock

1 /*	$NetBSD: spinlock.h,v 1.15 2022/10/25 23:33:29 riastradh Exp $	*/
45 typedef struct spinlock {
50 spin_is_locked(spinlock_t *spinlock)
52 return mutex_owned(&spinlock->sl_lock);
56 spin_lock(spinlock_t *spinlock)
58 mutex_enter(&spinlock->sl_lock);
62 spin_unlock(spinlock_t *spinlock)
64 mutex_exit(&spinlock->sl_lock);
68 spin_lock_bh(spinlock_t *spinlock)
70 spin_lock(spinlock);
74 spin_unlock_bh(spinlock_t *spinlock)
76 spin_unlock(spinlock);
80 spin_lock_irq(spinlock_t *spinlock)
82 spin_lock(spinlock);
86 spin_unlock_irq(spinlock_t *spinlock)
88 spin_unlock(spinlock);
92 #define spin_lock_irqsave(SPINLOCK, FLAGS) \
95 mutex_enter(&((spinlock_t *)(SPINLOCK))->sl_lock); \
98 #define spin_trylock_irqsave(SPINLOCK, FLAGS) \
100 mutex_tryenter(&((spinlock_t *)(SPINLOCK))->sl_lock) )
103 spin_unlock_irqrestore(spinlock_t *spinlock, unsigned long __unused flags)
105 mutex_exit(&spinlock->sl_lock);
109 spin_lock_nested(spinlock_t *spinlock, int subclass)
111 spin_lock(spinlock);
114 #define spin_lock_irqsave_nested(SPINLOCK, FLAGS, SUBCLASS) \
115 spin_lock_irqsave(SPINLOCK, FLAGS)
118 spin_lock_init(spinlock_t *spinlock)
121 mutex_init(&spinlock->sl_lock, MUTEX_DEFAULT, IPL_VM);
130 spin_lock_destroy(spinlock_t *spinlock)
132 mutex_destroy(&spinlock->sl_lock);
136 #define assert_spin_locked(spinlock) \
137 KASSERT(mutex_owned(&(spinlock)->sl_lock))