软锁定的原因?

时间:2011-08-30 07:02:19

标签: linux linux-kernel scheduling watchdog lockup

当我们启用CONFIG_DETECT_SOFTLOCKUP来检测软锁定时,它会创建一个名为khungtaskd的新任务,该任务将每1秒运行一次。如果khungtaskd未能在'n'秒内安排,则内核将声明软锁定。

我的问题是阻止khungtaskd运行的原因是什么?我发现的一个 - 试图在中断环境中获取已经获得的自旋锁。导致软锁定的其他原因是什么?

2 个答案:

答案 0 :(得分:1)

中断太多(计算机太慢)?检查/proc/interrupts并查看。

某些实时任务正在运行?

中断几乎总是比其他任务具有更高的优先级。

答案 1 :(得分:1)

例如,在抢占禁用的单处理器(非SMP)系统上,内核线程中的任何无限循环都会导致软锁定。