如何在linux中实现do_raw_spin_lock函数

时间:2013-05-03 08:38:46

标签: c compiler-construction linux-kernel spinlock

在调试恐慌问题时,我发现了自旋锁,我在

中遇到了这个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);
}

请帮我解释这种声明是如何解码和工作的。

1 个答案:

答案 0 :(得分:1)

用于静态分析。

http://en.wikipedia.org/wiki/Sparse