Wer aktualisiert den Hardware-Watchdog unter Linux?

Ich habe einen Prozessor AT91SAM9G20 mit einem 2.6er Kernel. Watchdog ist auf Bootstrap-Ebene aktiviert und für 16 Sekunden konfiguriert. Das Watchdog-Modusregister kann nur einmal konfiguriert werden. Wenn der Code in Bootstrap, Bootloader oder Kernel hängt, wird das Board neu gestartet. Aber sobald der Kernel startet, obwohl der Watchdog in keiner der Anwendungen aktualisiert wird, wird die Karte nicht nach 16 Sekunden, sondern nach 15 Minuten zurückgesetzt.

Wer erfrischt den Wachhund?

In unserem Fall sollte der Watchdog von Anwendungen beeinflusst werden, damit die Karte zurückgesetzt werden kann, wenn unsere Anwendung hängt.

Dies sind die laufenden Prozesse:

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

Wir verwenden den Watchdog für Soft-Lockups, der in kernel-2.6.25-ts.at91sam9g20 / kernel / softlockup.c verfügbar ist

Antworten auf die Frage(5)

Ihre Antwort auf die Frage