Eu tive esta mensagem no meu log do kernel: INFO: task XXX blocked for more than 120 seconds
. Eu gostaria de saber o que isso significa tecnicamente: sob quais condições o kernel exibe esta mensagem sobre uma tarefa?
Para o registro, minha tarefa bloqueada foi multipathd
, mas também estou interessado no significado geral desse erro.
linux-kernel
scheduling
Totor
fonte
fonte
Basicamente, esse log é acionado se o agendador da CPU não tiver mudado para o processo no período especificado e o processo não se qualificar para uma exceção.
As exceções são casos especiais em que um processo não foi alternado, mas não deve ser registrado. Não entendo claramente as condições para as exceções; FWIW, os comentários sobre os casos no código são:
http://lxr.free-electrons.com/source/kernel/hung_task.c#L75
Quanto ao motivo pelo qual uma tarefa pode não ser agendada por um longo período de tempo, estar continuamente em TASK_UNINTERRUPTABLE (estado 'D') seria uma possibilidade, mas não sei o que outras podem haver.
fonte