Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Jan 2013 15:14:44 -0500
From:      Ed Maste <emaste@freebsd.org>
To:        Ian Lepore <ian@freebsd.org>
Cc:        freebsd-hackers@freebsd.org, Sushanth Rai <sushanth_rai@yahoo.com>, mjacob@freebsd.org
Subject:   Re: NMI watchdog functionality on Freebsd
Message-ID:  <CAPyFy2CVD9-S3FV3aajPVB4soKo_TVP5kzCUaVses22g94a%2B%2BQ@mail.gmail.com>
In-Reply-To: <1358960253.32417.467.camel@revolution.hippie.lan>
References:  <1358894455.17521.YahooMailClassic@web181706.mail.ne1.yahoo.com> <201301231025.41118.jhb@freebsd.org> <5100142D.7040904@freebsd.org> <1358960253.32417.467.camel@revolution.hippie.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
On 23 January 2013 11:57, Ian Lepore <ian@freebsd.org> wrote:
>
> But adding a real hardware watchdog that fires on a slightly longer
> timeout than the NMI watchdog gives you the best of everything: you get
> information if it's possible to produce it, and you get a real hardware
> reset shortly thereafter if producing the info fails.

Yes, this is a great option if supported by hardware.

Some Supermicro motherboards (like the X8STi) have two independent
watchdogs, and one of them has a jumper to choose between NMI and
reset upon expiry.  In addition, the wbwd(4) driver has a sysctl to
override the normal timeout to make the dual-stage watchdog possible:

     dev.wbwd.0.timeout_override
             This variable allows to program the timer to a value independent
             on the one provided by the watchdog(4) framework while still
             relying on the regular updates from e.g.  watchdogd(8).  This is
             particularly useful if your system provides multiple watchdogs
             and you want them to fire in a special sequence to trigger an NMI
             after a shorter period than the reset timeout for example.  The
             value set must not be lower than the sleep time of watchdogd(8).
             A value of 0 disables this feature and the timeout value provided
             by watchdog(4) will be used.

I hope this capability moves into the watchdog infrastructure rather
than existing as a driver-specific kluge.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPyFy2CVD9-S3FV3aajPVB4soKo_TVP5kzCUaVses22g94a%2B%2BQ>