Linux kernel Linux内核转储:如何获取自旋锁的所有者

Linux kernel Linux内核转储:如何获取自旋锁的所有者,linux-kernel,crash-dumps,spinlock,Linux Kernel,Crash Dumps,Spinlock,我在24核系统上生成了一个linux内核转储。大多数任务都卡在旋转锁上。有没有办法获得自旋锁的所有者?自旋锁没有“所有者”的概念,互斥锁有 所以实际上你想知道的是哪个进程持有一个特定的自旋锁。此类信息通常在lockdep backtrace中可用。因此,如果您启用了lockdep,您可以只读取内核日志,如果没有,您需要检查所有进程的回溯,类似于Sysrq-t。假设您已经拥有vmcore,您可以使用崩溃实用程序获取每个进程的回溯信息。请参见此处如何使用lockdep检测死锁:

我在24核系统上生成了一个linux内核转储。大多数任务都卡在旋转锁上。有没有办法获得自旋锁的所有者?

自旋锁没有“所有者”的概念,互斥锁有


所以实际上你想知道的是哪个进程持有一个特定的自旋锁。此类信息通常在lockdep backtrace中可用。因此,如果您启用了lockdep,您可以只读取内核日志,如果没有,您需要检查所有进程的回溯,类似于Sysrq-t。假设您已经拥有vmcore,您可以使用崩溃实用程序获取每个进程的回溯信息。

请参见此处如何使用
lockdep
检测死锁: