在调试与spinlock相关的panic问题时,我在
包括/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);
}

请帮助我如何解码和工作这样的声明。

最佳答案

用于静态分析。
http://en.wikipedia.org/wiki/Sparse

10-06 13:02