Tengo un procesador AT91SAM9G20 que ejecuta un kernel 2.6. Watchdog está habilitado en el nivel de arranque y configurado durante 16 segundos. El registro del modo de vigilancia se puede configurar solo una vez. Cuando el código se bloquea en bootstrap, gestor de arranque o kernel, la placa se reinicia. Pero una vez que aparece el kernel aunque el watchdog no se actualiza en ninguna de las aplicaciones, la placa no se reinicia después de 16 segundos, sino de 15 minutos.¿Quién está actualizando el watchdog de hardware en Linux?
¿Quién está refrescando al perro guardián?
En nuestro caso, las aplicaciones deben influir en el regulador, de modo que el tablero pueda restablecerse si se bloquea nuestra aplicación.
Estos son los procesos en ejecución:
1 root init
2 root [kthreadd]
3 root [ksoftirqd/0]
4 root [watchdog/0]
5 root [events/0]
6 root [khelper]
63 root [kblockd/0]
72 root [ksuspend_usbd]
78 root [khubd]
85 root [kmmcd]
107 root [pdflush]
108 root [pdflush]
109 root [kswapd0]
110 root [aio/0]
740 root [mtdblockd]
828 root [rpciod/0]
982 root [jffs2_gcd_mtd10]
1003 root /sbin/udevd -d
1145 daemon portmap
1158 dbus dbus-daemon --system
1178 root /usr/sbin/ifplugd -i eth0 -fwI -u0 -d5 -l -q
1190 root /usr/sbin/ifplugd -i eth1 -fwI -u0 -d5 -l -q
1221 default avahi-daemon: running [SP14.local]
1226 root /usr/sbin/dropbear
1246 root /root/bin/host_app
1254 root /root/bin/mini_httpd -c *.cgi -d /root/bin -u root -E /root/bin/
1256 root -sh
1257 root /sbin/syslogd -n -m 0
1258 root /sbin/klogd -n
1259 root /usr/bin/tail -f /var/log/messages
1265 root ps -e
Estamos utilizando el organismo de control de bloqueos blandos disponibles en kernel-2.6.25-ts.at91sam9g20/kernel/softlockup.c
He buscado el código del kernel entero. No encontré tales cosas en Kernel. Si ese es el caso, ¿por qué se está reiniciando después de 15 minutos? – Shashikiran