Remove "options HW_WDOG"?
smkelly at freebsd.org
Tue Jul 29 14:06:28 PDT 2003
First, I apologize for the original crosspost between -current and -arch.
On Tue, Jul 29, 2003 at 01:43:11PM -0700, Doug Ambrisko wrote:
> Julian Elischer writes:
> | this code WAS used in the interjet.
> | We had modules that linked in and just needed somewhere to hook into..
> | the hardware watchdog was held off by our software, but we needed to add
> | code to the core-dump routines to routinely call the watchdog hold-off
> | or we could never get a coredump because the watchdog would always go
> | off before the dump was completed.
> | I doubt it is used by anyone any more but It's good that you asked..
> | I did notice some people were working on the watchdog support for the
> | chipsets that have a watchdog in them so I guess they wil have all their
> | own entrypoints.
My basic point is that nothing in the 5.x tree uses the HW_WDOG knob
anymore. As Bruce Evans kindly pointed out, the only use of HW_WDOG is in
FreeBSD 4.x in i386/isa/wd.c, pc98/pc98/wd.c, and kern/kern_shutdown.c to
"tickle" the watchdog in the middle of a crashdump. The 'wd' driver has
since died and gone on to a better place, and kern_shutdown.c doesn't use
HW_WDOG to call a 'tickle' function anymore.
Why have an option if nothing in our tree actually uses it beyond defining
a tickle function type (watchdog_tickle_fn) which is never used? If somebody
is actually porting a watchdog patch from 4.x to 5.x, they have enough code
to change that needing to implement their own tickle option and function
should be no big deal.
Is there really a reason to keep this around? Can't it be purged for a
better (and complete) implementation by hardware watchdog developers?
> Most sane watchdogs let you disable them. The ones I've implemented
> allow this. I then added code to the panic/debugger code to disable
> consmute and disable the watchdog.
The old HW_WDOG code also assumed that tickling was necessary during a
crashdump, though it only worked for ATA disks. There was no framework for
traits such as whether a watchdog can be disabled and reenabled.
I just see the current HW_WDOG bits that are still hanging around as debris
that needs cleaned up since it is no longer working or used by
anything in the source tree.
Sean Kelly | PGP KeyID: D2E5E296
smkelly at FreeBSD.org | http://www.sean-kelly.org/
More information about the freebsd-arch