Причины мягкой блокировки?

Когда мы включаем CONFIG_DETECT_SOFTLOCKUP чтобы обнаружить мягкие блокировки, он создает новую задачу под названием khungtaskd который будет запускаться каждые 1 с. Если khungtaskd не может быть запланировано на 'n' секунд, тогда ядро ​​объявит мягкую блокировку.

Мой вопрос: каковы причины, которые мешают khungtaskd от бега? Один, который я нашел, - это попытка получить уже приобретенный спин-блокировку в контексте прерывания. Каковы другие причины, которые приведут к мягкой блокировке?

2 ответа

Слишком много прерываний (и компьютер слишком медленный)? Проверьте /proc/interrupts и посмотреть.

Некоторые задачи в реальном времени запущены?

Прерывания почти всегда имеют более высокий приоритет, чем другие задачи.

Например, в однопроцессорных (не SMP) системах с преимущественным вытеснением любой бесконечный цикл в потоке ядра вызовет мягкую блокировку.

Другие вопросы по тегам