making SW_WATCHDOG dynamic

Mike Karels karels at FreeBSD.org
Tue Dec 26 14:48:51 UTC 2017


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


More information about the freebsd-arch mailing list