local_irq_save(flags);
preempt_disable();
+ dbg_snapshot_spinlock(lock, 1);
spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
/*
* On lockdep we dont want the hand-coded irq-enable of
#else
do_raw_spin_lock_flags(lock, &flags);
#endif
+ dbg_snapshot_spinlock(lock, 2);
return flags;
}
{
local_irq_disable();
preempt_disable();
+ dbg_snapshot_spinlock(lock, 1);
spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
LOCK_CONTENDED(lock, do_raw_spin_trylock, do_raw_spin_lock);
+ dbg_snapshot_spinlock(lock, 2);
}
static inline void __raw_spin_lock_bh(raw_spinlock_t *lock)
static inline void __raw_spin_lock(raw_spinlock_t *lock)
{
preempt_disable();
+ dbg_snapshot_spinlock(lock, 1);
spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
LOCK_CONTENDED(lock, do_raw_spin_trylock, do_raw_spin_lock);
+ dbg_snapshot_spinlock(lock, 2);
}
#endif /* !CONFIG_GENERIC_LOCKBREAK || CONFIG_DEBUG_LOCK_ALLOC */
{
spin_release(&lock->dep_map, 1, _RET_IP_);
do_raw_spin_unlock(lock);
+ dbg_snapshot_spinlock(lock, 3);
preempt_enable();
}
{
spin_release(&lock->dep_map, 1, _RET_IP_);
do_raw_spin_unlock(lock);
+ dbg_snapshot_spinlock(lock, 3);
local_irq_restore(flags);
preempt_enable();
}
{
spin_release(&lock->dep_map, 1, _RET_IP_);
do_raw_spin_unlock(lock);
+ dbg_snapshot_spinlock(lock, 3);
local_irq_enable();
preempt_enable();
}