Re: Questions about Watch Dog Timer under Linux.

From: Cypher Wu
Date: Fri Dec 11 2009 - 03:28:12 EST


It seems WATCHDOG_NOWAYOUT is a software mechanism? If it is defined
as 1 then the WDT can't be stopped if it has been started whether bye
closing the device file or writing the magic character 'V'.

On Wed, Dec 9, 2009 at 10:59 PM, Mark Brown
<broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> On Wed, Dec 09, 2009 at 10:47:28PM +0800, Cypher Wu wrote:
>> I'm used to work on embedded systems, the Watch Dog Timer in our
>> products is usually a seperate chip on the board wich will start to
>> work after power reset and will time out in 2 seconds. The system has
>> to start dog clearing from the very beginning and there have no way to
>> disable WDT.
>
>> Now I want to use WDT under Linux, while I read
>> Documentation/watchdog/watchdog-api.txt and then look though some
>> drivers of WDT under Linux, it seems WDT under Linux has to be able to
>> be disabled, and it will be disabled from the beginning, and starting
>> to work after the application open the special driver file? The
>> sample code under Linux use a very bigger time span than our embedded
>> system:
>
> You don't *have* to be able to disable the watchdog - the API supports
> it but you can always fail to do so (and even where you can Linux
> watchdogs support a non-disabling mode, look for WATCHDOG_NOWAYOUT in
> existing drivers). Similarly, there's no problem with having the
> watchdog be live at system startup - if the watchdog is already enabled
> when the driver is opened then the driver just needs to handle that
> gracefully.
>
>> while (1) {
>> ret = write(fd, "\0", 1);
>
> ...
>
>> sleep(10);
>> }
>>
>
>> Is this the pattern we have to follow to use WDT under Linux? We have
>
> You're free to update the watchdog as often as you like, the 10s is
> just a number that was picked which is suitable for that application.
>
>> to choose a chip as WDT, and it seems the chip we've familiar under
>> embedded systems can't be used under Linux?
>
> Nothing about your watchdog sounds particularly unusual for Linux.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/