我正在尝试分析 Linux 内核核心转储中的自旋锁变量。在互斥锁的情况下,如果互斥锁被锁定,则计数变量的值应为 0。在自旋锁的情况下,spinlock_t my_lock 具有如下字段
(struct raw_spinlock) rlock
(arch_spinlock_t) raw_lock
(unsigned int) lock
(unsigned int) break_lock
整数变量的值为 0。如果锁定,这些变量中会有不同的值吗?有没有其他方法可以检查自旋锁变量的转储以查看它是否被占用?值(value)架构是否依赖?
最佳答案
尝试使用 spin_is_locked()
(在 spinlock.h 中定义)
关于linux - 检查是否在核心转储中持有自旋锁,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27739481/