在调试恐慌问题时,我发现了自旋锁,我在
中遇到了这个spinlock的定义在include / linux / spinlock.h
。我很难理解这个定义。为什么在__acquires(lock)
函数之后使用do_raw_spin_lock
?这种宣言的意义是什么?
static inline void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock)
{
__acquire(lock);
arch_spin_lock(&lock->raw_lock);
}
请帮我解释这种声明是如何解码和工作的。