¿Quién está actualizando el controlador de hardware en Linux?

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 Watchdog solo se puede configurar una vez. Cuando el código se cuelga en bootstrap, bootloader o kernel, la placa se reinicia. Pero una vez que el kernel se activa, 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á refrescando el perro guardián?

En nuestro caso, el watchdog debe estar influenciado por las aplicaciones, de modo que la placa pueda restablecerse si nuestra aplicación se bloquea.

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 usando el watchdog para bloqueos de software disponibles en kernel-2.6.25-ts.at91sam9g20 / kernel / softlockup.c

Respuestas a la pregunta(5)

Su respuesta a la pregunta