Ich benutze den 4.9 Linux-Kernel auf einer eingebetteten Plattform und bemerke, dass der Watchdog-Timer automatisch aktualisiert wird, obwohl ich keinen User-Space-Daemon wie die watchdog documentation erwähnt habe.Wer kickt den Watchdog-Timer in Linux lautlos?
Antwort
Fast wörtlich genommen von shodanex's answer zu einer verwandten Frage.
Wenn Sie den Watchdog-Treiber in Ihrem Kernel aktiviert haben, richtet der Watchdog-Treiber einen Kernel-Timer ein, der den Watchdog zurücksetzt.
Wenn keine Anwendung die Datei/dev/watchdog öffnet, sorgt der Kernel dafür, dass der Watchdog zurückgesetzt wird. Da es sich um einen Timer handelt, wird er nicht als dedizierter Kernel-Thread angezeigt, sondern vom weichen IRQ-Thread. Wenn nun eine Anwendung diese Datei öffnet, wird sie für den Watchdog verantwortlich und kann sie zurücksetzen, indem sie in die Datei schreibt, wie dokumentiert the watchdog documentation.
Im Juli 2016 hat a commit in the 4.7 kernel Watchdog_dev.c dieses Verhalten für alle Watchdog-Timer-Treiber aktiviert. Vor dieser Zeit scheint es pickelig und fahrerspezifisch zu sein. Das Verhalten scheint nirgendwo anders als in diesem Thread und dem Quellcode dokumentiert zu sein.
/*
* A worker to generate heartbeat requests is needed if all of the
* following conditions are true.
* - Userspace activated the watchdog.
* - The driver provided a value for the maximum hardware timeout, and
* thus is aware that the framework supports generating heartbeat
* requests.
* - Userspace requests a longer timeout than the hardware can handle.
*
* Alternatively, if userspace has not opened the watchdog
* device, we take care of feeding the watchdog if it is
* running.
*/
return (hm && watchdog_active(wdd) && t > hm) ||
(t && !watchdog_active(wdd) && watchdog_hw_running(wdd));
- 1. Wer steuert den Prozesssteuerblock (PCB)?
- 2. Wer kennt den PHP-Quellcode?
- 3. Wer hält den Link in ReactiveX?
- 4. Wer legt die Daten in den Cache?
- 5. Silverlight WCF-Client, Sharepoint-Webdienste werden lautlos
- 6. Wer
- 7. Wer kopiert app.config in app.exe.config?
- 8. Leistung in Google Play-Spiele lautlos deaktivieren, ohne Benachrichtigung anzuzeigen
- 9. Woher weißt du, wer den Build repariert?
- 10. Wer kann den mc.exe (Message Compiler) verwenden?
- 11. Wer nutzt den Schwarm-Docker als Produktion?
- 12. Wer befiehlt in Windows
- 13. logstash 2.4.0: grok schlägt lautlos auf benutzerdefinierten Mustern fehl
- 14. Linux Kernel_v_4.X verlangsamt den TCP_UL Durchsatz
- 15. Wissen, wer in einem Lost Focus-Event den Fokus hatte
- 16. Wer abonniert den Effekt loadCollection $ in diesem @ ngrx-Beispiel?
- 17. Wer ruft den Konstruktor in virtueller Vererbung auf?
- 18. So finden Sie, wer sperrt, wer in SQL Server 2005
- 19. @PostConstruct schlägt lautlos auf einem Grails-Dienst fehl
- 20. Wer nutzt Java in Echtzeit?
- 21. Wer ist online in Pylons
- 22. Gibt es eine Möglichkeit zu sehen, wer eine Datei in Linux angezeigt/zugegriffen hat?
- 23. Linux - Ersetzen von Leerzeichen in den Dateinamen
- 24. Liest Linux() Daten in den Prozessadressraum
- 25. Holen Sie sich den Dateinamen in Linux
- 26. Wer validiert die Immobilie?
- 27. Wer kann "Refresher" initialisieren?
- 28. Wer ist auf Socket in C verbunden
- 29. Wer übernimmt die IErrorInfo?
- 30. Wer definiert reguläre Ausdrücke?