Ich hatte diese Nachricht in meinem Kernel - Log: INFO: task XXX blocked for more than 120 seconds
. Ich möchte wissen, was es technisch bedeutet: Unter welchen Bedingungen zeigt der Kernel diese Meldung zu einer Aufgabe an?
Fürs Protokoll war meine blockierte Aufgabe multipathd
, aber ich interessiere mich auch für die allgemeine Bedeutung dieses Fehlers.
quelle
Grundsätzlich wird diese Protokollierung ausgelöst, wenn der CPU-Scheduler in der angegebenen Zeit nicht auf den Prozess umgeschaltet hat und der Prozess nicht für eine Ausnahme qualifiziert ist.
Ausnahmen sind Sonderfälle, in denen ein Prozess nicht umgeschaltet wurde, aber nicht protokolliert werden sollte. Ich verstehe die Bedingungen für die Ausnahmen nicht klar; FWIW die Kommentare zu den Fällen im Code sind:
http://lxr.free-electrons.com/source/kernel/hung_task.c#L75
Was den Grund angeht, warum eine Aufgabe möglicherweise nicht für einen längeren Zeitraum geplant ist, wäre es eine Möglichkeit, wenn sie ständig im Status TASK_UNINTERRUPTABLE ('D') ist, aber ich weiß nicht, welche anderen Aufgaben es möglicherweise gibt.
quelle