Mike Karels
2017-12-26 14:25:22 UTC
There is a kernel option, SW_WATCHDOG, which adds a low-level software
watchdog in hardclock. By default, the kernel and watchdogd support
only hardware-based watchdogs. There is also a callout-based software
watchdog that can be enabled by watchdogd with an ioctl if --softwatchdog
is specified, but watchdogd doesn't switch on its own. The SW_WATCHDOG
option adds a lower-level software watchdog to the hardware-based mechanism,
but it adds it unconditionally. I propose to include the SW_WATCHDOG
facility by default, but enable it only if there is no hardware watchdog.
I'm interested in any comments, suggestions, or background; feel free to
mail me off the list. If there are multiple people interested, I'll
forward messages to that group.
I want to make the change because I have found SW_WATCHDOG quite useful
at $JOB, and it's annoying to have to build a custom kernel just for this
(not just once, but every time there is a kernel patch).
Also, I'm curious why we have two software watchdog facilities. The
--softwatchdog facility has various options on expiration, such as
printf/log/panic; I don't know why anything other than panic/reboot
would be desirable, though. I already contacted some of the people who
have left fingerprints on watchdog. Also, if anyone wants to review
the code, let me know.
Thanks,
Mike
watchdog in hardclock. By default, the kernel and watchdogd support
only hardware-based watchdogs. There is also a callout-based software
watchdog that can be enabled by watchdogd with an ioctl if --softwatchdog
is specified, but watchdogd doesn't switch on its own. The SW_WATCHDOG
option adds a lower-level software watchdog to the hardware-based mechanism,
but it adds it unconditionally. I propose to include the SW_WATCHDOG
facility by default, but enable it only if there is no hardware watchdog.
I'm interested in any comments, suggestions, or background; feel free to
mail me off the list. If there are multiple people interested, I'll
forward messages to that group.
I want to make the change because I have found SW_WATCHDOG quite useful
at $JOB, and it's annoying to have to build a custom kernel just for this
(not just once, but every time there is a kernel patch).
Also, I'm curious why we have two software watchdog facilities. The
--softwatchdog facility has various options on expiration, such as
printf/log/panic; I don't know why anything other than panic/reboot
would be desirable, though. I already contacted some of the people who
have left fingerprints on watchdog. Also, if anyone wants to review
the code, let me know.
Thanks,
Mike