a função panic () do kernel congela completamente todos os outros processos?
Eu gostaria de confirmar que o kernel épanic()
função e os outros comokernel_halt()
emachine_halt()
, uma vez acionado, garante o congelamento completo da máquina.
Então, todos os processos do kernel e do usuário estão congelados? Épanic()
interrompível pelo agendador? Os manipuladores de interrupção ainda podem ser executados?
Caso de uso: em caso de erro grave, preciso ter certeza de que o watchdog de hardware reconfigura a máquina. Para este fim, eu preciso ter certeza de quenenhum outro segmento / processo está mantendo o watchdog vivo. Preciso acionar uma parada completa do sistema. Atualmente, dentro do meu módulo do kernel, eu simplesmente chamopanic()
para congelar tudo.
Além disso, o espaço do usuáriohalt
comando é garantido para congelar o sistema?
Obrigado.
edit: De acordo com:http://linux.die.net/man/2/reboot, Acho que a melhor maneira é usarreboot(LINUX_REBOOT_CMD_HALT)
: "O controle é dado ao monitor ROM, se houver um"